我需要向接口添加一个新方法(MethodC),但只能为一个特定的类添加。我没有堵塞当前界面(IMyInterface),而是想为这一类使用另一个界面。这个新接口只包含一个新方法(MethodC)。但是类使用新接口也需要在IMyInterface中使用方法。
我不确定如何构建它。我从工厂方法发送回类型IMyInterface。我不知道第二个界面是如何被发回的,或者我是否可以在以后投出它。
IMyInterface
- MethodA()
- MethodB()
//new interface for single class
IMyInterfaceExtend
- MethodC()
//factory method definition
IMyInterface Factory()
IMyInterface myi = StaticClass.Factory()
myi.MethodA()
myi.MethodB()
// sometime later
// I know this doesn't work but kind of where I'm wanting to go
((IMyInterfaceExtend)myi).MethodC()
有关如何实现这一目标的任何想法?
答案 0 :(得分:2)
public interface BaseInterface
{
string FirstName { get; set; }
string LastName { get; set; }
void Method1();
}
public interface ExtendedInterface
{
string FulllName { get; set; }
void Method2();
}
public class ClassA : BaseInterface
{
public string FirstName { get; set; }
public string LastName { get; set; }
public void Method1()
{
}
}
public class ClassB : BaseInterface, ExtendedInterface
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string FullName { get; set; }
public void Method1()
{
}
public void Method2()
{
}
}