[我有一个具有bool属性的抽象类A
,像这样,是否有其他方法可以在不使用this
关键字的情况下检查myC对象(继承类的实例)的类型?
我只是想知道是否还有其他方法可以检查继承实例的类型。
public abstract class A
{
public bool IsC
{
get
{
return this.GetType() == typeof(C) ? true : false;
}
}
}
public class C : A
{
}
public static class Program
{
public static void Main(string[] args)
{
C myC = new C();
Console.WriteLine(myC.IsC); // true
}
}
}
this
关键字引用该类的当前实例,并且还用作扩展方法的第一个参数的修饰符。documentation source
在您的情况下,您想要做的是将当前实例的类型与定义的类型进行比较,就您个人而言,您试图做的是正确的,但是我认为可以优化代码,如下所示。] >
public abstract class A
{
public bool IsC
{
get
{
return this.GetType() == typeof(C);
}
}
}
public class C : A
{
}
public static class Program
{
public static void Main(string[] args)
{
C myC = new C();
Console.WriteLine(myC.IsC); // true
}
}