Kum*_*mar 3 .net c# reflection
def在哪里
IEnumerable<Tuple<string, double>> GetValues()
{
....
yield return new Tuple<string,double>(dataRow["<field>"].ToString(),
(double)Convert.ChangeType(dataRow["<field>"], typeof(double)));
....
// and more code similar to above based on other custom logic
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样,很多用于加倍的cast/coerc'ng可能仍会改回字符串或其他数据类型
想知道是否有办法在签名中定义Tuple的数据类型,这样我就可以创建一些通用助手而不用担心在某处丢失某些转换
反思应该可以吗?我希望 !
如果这是DataRow类,那么你有一个很好的扩展方法,叫做Field.
IEnumerable<Tuple<T1, T2>> GetValues<T1, T2>(String field1, String field2)
{
....
yield return new Tuple<T1,T2>(dataRow.Field<T1>("<field>"),
dataRow.Field<T2>("<field>"));
....
}
Run Code Online (Sandbox Code Playgroud)