正在应用'==';运算符转换为泛型参数
本文关键字:泛型 参数 转换 运算符 应用 | 更新日期: 2023-09-27 17:50:23
可能重复:
运算符==不能应用于C#中的泛型类型吗?
我有一个DatabaseLookup{}类,其中参数T将由该类中的查找方法使用。在查找之前,我想看看T是否已经用之类的东西进行了查找
if (T == previousLookupObject) ...
这根本无法编译。是什么阻止我做这样一个简单的比较?
T
是类型参数。如果您的previousLookupObject
是Type
的对象,则需要执行typeof(T) == previousLookupObject
。
如果previousLookupObject
是T
类型的变量,则需要有一个T
的实际对象来将其与进行比较
如果要查明previousLookupObject
是否属于T
类型,则需要使用is
运算符:if (previousLookupObject is T)
。
T
是类型,previousLookupObject
(我想(是对象实例。所以你把苹果比作桔子。试试这个:
if (previousLookupObject is T)
{
...
}
请参阅以下链接:
可以';t运算符==是否应用于C#中的泛型类型?
c比较两个通用值
previousLookupObject
是什么类型?泛型类型参数是类型,不能用作普通对象引用。