インターフェイスに許可されるサブクラスを指定する方法はありますか?
私がこのクラスを持っているとしましょう:
public interface IDoable // specify that only A or it's subclasses can implement IDoable
{
void Do();
}
public class A : IDoable
{
public void Do(){};
public void Foo(){};
}
public class B : IDoable // implementing IDoable on something other than A or its sublcasses doesn't make any sense
{
// public void Do();
}
後で私はこれを行うことができるようになります:
IDoable d = new A();
d.Do();
d.Foo(); // I'd like to be able to do this.
C#はこの種の機能をサポートしていますか?