更可读的方法来检查类是否不是类型?

时间:2013-09-19 22:05:28

标签: c#

检查C#中某个给定类型的对象是否为

if(myObj is MyClass)
{
     //....
}

检查某个类型是否

if(!(myObj is MyClass))
{
     //....
}

是否有更可读的方式来表达相同的逻辑?

例如,如果我能写这篇文章就会更容易阅读。

if(myObj is not MyClass)
{
     //....
}

2 个答案:

答案 0 :(得分:6)

您可以尝试使用这样的扩展方法,只是为了让它更具可读性

public static class ObjectExtension
{
    public static bool IsNot<T>(this object o)
    {
        return !(o is T);
    }
}
//Use it
if(myObj.IsNot<MyClass>()){
  //...
}

答案 1 :(得分:4)

你可以采用相同的方法,使其更加冗长:

If (myObj is MyClass == false) ;