我正在写一级代表的行SQL query.我想现场数据可以通过访问索引的财产的类。这很简单如果我将数据加载到内部名单的对象。我已经尝试了这个,我不喜欢拳击的元。拳击增加的存储需求的20%。我想存储的元作为原语的课。数据表类存储元的通过创建阵列中每一列架构返回自通过.我实现了一个类这种方式但我希望将数据存储的行对象,而不是在一个柱,是所引用的内部通行。

任何想法完成这个吗?

有帮助吗?

解决方案

你可以产生结构类型来代表一个行。它可以做到的动态,这是可能做到这一点,所以不会有任何拳击。我不知道它是值得的努力虽然

其他提示

只有20%的开销?你真幸运!我只是清理了一些代码,它增加了四十倍的性能下降(不计算额外的内存的影响)!总之,要防止使用object的典型方式是通过启动使用泛型。下面是一个简化的示例:

class RowRepresenter<T>
{
    //....
    public T this[int index] {get; set;}  // implementation left out
}

// initialize, suppose the properties (indexers) should be ints:
RowRepresenter<int> myInstance = new RowRepresenter<int>();
myInstance.LoadData();

// get data (i.e., your indexer)
int somefield = myInstance[2];   // no overhead, no casting required
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top