1

我已经定义了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'。

我该如何正确实施呢?

4

1 回答 1

3

这对我来说没有错误,但是......我怀疑这是因为您正在重新实现界面。放入:, IDevicePlugin_somePlugin

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

它从父类继承接口。

于 2012-10-15T12:09:06.003 回答