我可以用一个例子来最好地说明这个问题。
我有一个强制开发人员实现特定功能的接口。我还希望这个接口强制用户实现一个 set 或 get 属性,该属性将派生类的名称设置在存储在类中的字符串中。因此,如果开发人员创建了一个派生自该接口的新类,他们将被迫:
- 为该方法创建一个定义。
- 将派生类的名称存储在名为“derivedType”的字符串中
我想将名称作为字符串存储在派生类型中,因为我想在运行时对实现此接口的对象进行一些类型检查。
public interface someInterface
{
int someMethod(int x);
string derivedType {get; set;}
}
public derivedClass : someInterface
{
public int someMethod (int x) {...};
public string derivedType
{
get {return this.derivedType;}
set {derivedType = "derivedClass";}
}
}