我定义了一个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'。
我如何正确实现这个?
答案 0 :(得分:3)
对我来说这不是错误,但是......我怀疑这是因为你正在重新实现界面。将, IDevicePlugin
放入somePlugin
:
public class somePlugin : DevicePlugin {
public override string name {
get { return "my name"; }
}
}
它从父类继承接口。