我想检查对象是否不是特定类型.我知道如何检查,如果事情是一个特定类型的:
if (t is TypeA)
{
...
}
Run Code Online (Sandbox Code Playgroud)
但
if (t isnt TypeA)
{
...
}
Run Code Online (Sandbox Code Playgroud)
不起作用.
Tig*_*ran 10
如果你不仅要检查,你可以使用as运算符.
var a = t as TypeA;
if(a!= null)
//use a..
Run Code Online (Sandbox Code Playgroud)
这样,如果你想在检查后使用一个类型,你可以避免双重铸造..
扩展方法来救援!
public static class ObjectExtensions
{
public static bool Isnt(this object source, Type targetType)
{
return source.GetType() != targetType;
}
}
Run Code Online (Sandbox Code Playgroud)
用法
if (t.Isnt(typeof(TypeA)))
{
...
}
Run Code Online (Sandbox Code Playgroud)