假设我有以下类:指定泛型类型中使用领域
public class MyClass
{
public decimal myDecimal;
public string myString;
}
我想用DataRowExtensions方法Field<>
目前,我使用的是类,像这样:
MyClass myClass = new MyClass();
myClass.myDecimal = row.Field<decimal>("MyDecimalColumnName");
myClass.myString = row.Field<string>("MyStringColumnName");
但是,如果我决定将myDecimal的类型更改为decimal
以外的其他类型,我想要调用row.Field
以反映正确的数据。
我想类似的语法如下东西:
myClass.myDecimal = row.Field<typeof(myClass.myDecimal)>("MyDecimalColumnName");
这并不编译,我不知道如何使用typeof
或GetType()
刚刚返回decimal
,无论将被调用。
有没有办法做到这一点,或类似的东西?我认为这可以在编译时完成,因为类型是已知的,因为泛型是编译时构造。
谢谢!
看看[这里](http://stackoverflow.com/q/196936/754438) – Reniuz 2012-03-13 14:32:04
不能编译*推断*该类型的参数? – davisoa 2012-03-13 14:32:19
@davisoa不用于* return *值,不是 – 2012-03-13 14:32:42