例如,给定一个类型参数方法,我正在寻找类似粗体部分的东西
void MyMethod< T >() {
if ( typeof(T).Implements( IMyInterface ) ) {//Do something
别的
//Do something else
}
也欢迎使用 C# 3.0 的答案,但请先放弃 .NET 2.0 的答案;)
例如,给定一个类型参数方法,我正在寻找类似粗体部分的东西
void MyMethod< T >() {
if ( typeof(T).Implements( IMyInterface ) ) {//Do something
别的
//Do something else
}
也欢迎使用 C# 3.0 的答案,但请先放弃 .NET 2.0 的答案;)
if(typeof(IMyInterface).IsAssignableFrom(typeof(T)))
{
// something
}
else
{
// something else
}
我认为
if (typeof (IMyInterFace).IsAssignableFrom(typeof(T))
也应该工作:但我没有看到优势......
Ï刚刚尝试使用
if( typeof(T).Equals(typeof(IMyInterface) )
...
而且也有效,但是您的答案似乎更可靠,并且是我想要的。谢谢!