伪静态虚拟C#机制

ope*_*bie 1 c#

我想让我的类有参数ID来识别这个类.例如,我想要这样的东西:

class Car
{
   public static virtual string ID{get{return "car";}}
}

class SuperCar : Car
{
    public static override string ID{get{return "superCar";}}
}

Car a = new Car();
//a.ID == car
a = new SuperCar();
//a.ID = superCar
Run Code Online (Sandbox Code Playgroud)

你觉得有什么可以做出类似的东西吗?我现在无法制造虚拟的静电:/

Ada*_*ght 7

我可能会很紧张,但是如果你没有使用静态方法,那么你所记下的就是你所得到的.您似乎在问"如何使静态方法像实例方法一样".答案是......使用实例方法和普通多态?

如果这只是为了获得类的标识符,那么该GetType()成员就足够了.