Dan*_*ite 21 c# generics types operators
我想做这样的事情
class SomeClass<T>
{
SomeClass()
{
bool IsInterface = T is ISomeInterface;
}
}
Run Code Online (Sandbox Code Playgroud)
这样的事情最好的方法是什么?
注意:我不打算T用a 约束where,但我希望我的代码能够了解接口的T实现类型.我宁愿我不必构建一个T.
Fre*_*örk 29
我不认为你可以使用这个is操作符.但是你可以使用IsAssignableFrom:
bool IsInterface = typeof(ISomeInterface).IsAssignableFrom(typeof(T));
Run Code Online (Sandbox Code Playgroud)
应该使用以下代替
bool IsInterface = typeof(ISomeInterface).IsAssignableFrom(typeof(T));
Run Code Online (Sandbox Code Playgroud)
是运营商
isoperator用于检查run-time type对象是否compatible具有给定的type.
is如果满足以下两个条件,则使用符合语法的表达式,求值为true:
参考
| 归档时间: |
|
| 查看次数: |
6647 次 |
| 最近记录: |