我有这样的事情:
public byte[] resultA<T>(string some, T myCustomGenericParameter)
{
Type[] typList = GetAllTypesFromAssembly(Assembly.LoadFile("aaaa.dddd.dll"));
// checking wether my custom parameter is in "typList"
typList.OfType<myCustomGenericParameter>().Any()
}
我想检查我的通用参数是否在typList
,但我得到Error 1 The type or namespace name 'myCustomGenericParameter' could not be found (are you missing a using directive or an assembly reference?)
答案 0 :(得分:3)
我想检查我的通用参数是否在
中typList
然后使用
typeList.Contains(typeof(T));
或
typeList.Contains(myCustomGenericParameter.GetType());
如果myCustomGenericParameter
可能是T
的子类型,并且您想要查找该特定类型。
请注意typList.OfType<T>
在这里不是很有用,因为集合中的所有对象都是Type
个对象,因此OfType
并不能真正区分它们。 OfType
在应用于具有不同类型对象的集合时有效。