C#接口和抽象类

时间:2012-10-15 12:07:54

标签: c# class polymorphism

我定义了一个interface,一个实现该接口的abstract类和一个派生自抽象类的类。我需要interface,因为我使用动态加载器来实现插件,我创建了一个抽象类来实现所有插件都有的一些东西。

现在我想实现一个类范围的字符串作为名称。我创建的是:

public interface IDevicePlugin {
    string name { get; }
}

abstract public class DevicePlugin : IDevicePlugin {
    abstract public string name { get; }
}


public class somePlugin : DevicePlugin, IDevicePlugin {
    public override string name {
        get {
            return "my name";
        }
    }
}

但是这给了我错误“无法覆盖因为'name'不是属性'。如果我删除了override,它说它隐藏了继承的成员'name'。

我如何正确实现这个?

1 个答案:

答案 0 :(得分:3)

对我来说这不是错误,但是......我怀疑这是因为你正在重新实现界面。将, IDevicePlugin放入somePlugin

public class somePlugin : DevicePlugin {
    public override string name {
        get { return "my name"; }
    }
}

它从父类继承接口。