可能重复:
C# generic list <T> how to get the type of T?获取型和投第二个变量为该类型
我有一个列表变量,我想获得该列表的类型和投出第二个变量到那种类型。为了清晰起见,我添加了以下代码。
目前,我有以下几点:
return _ValueList.Any<FieldType>(x => x.Equals((FieldType)fieldValueObject));
我想要做这样的事情:
Type valueType = _ValueList.GetType();
return _ValueList.Any<FieldType>(x => x.Equals((valueType)fieldValueObject));
任何帮助将不胜感激。
更新:当fieldValueObject的类型的Int16的,我尝试将其转换为的Int32
一个无效转换异常被抛出。
更新2:
我用以下解决方案:
if (fieldValueObject.GetType() == typeof(Int16))
{
fieldValueObject = Convert.ToInt32(fieldValueObject);
}
return _ValueList.Any<FieldType>(x => x.Equals(fieldValueObject));
这是不漂亮,但它的工作原理。
你试图完成什么?您是否尝试使用字符串值过滤数字列表?看到其余的功能将有所帮助。 – Alex 2012-07-26 10:51:15
我想检查一个通用列表中是否存在一个值。我测试的值是从数据库中获取的,当我将它转换为列表类型时,它会引发异常。 – FreddieGericke 2012-07-26 11:09:56