Multi-dimensional generic mapping library in C#