我想有一个接口,根据什么类实现它,接口声明的函数应该返回一个特定的类。
我应该使用这样的东西吗?
public interface IMyInterface
{
T returnClassInstance();
}
当我想将它实现到类中时应该怎么看?
public class MyClass : IMyInterFace
{
public T returnClassInstance()
{
ClassInstance class = new ClassInstance();
return (T)class;
}
}
这样的事情的最佳方法是什么?
答案 0 :(得分:3)
您可以在界面中使用泛型 -
public interface IMyInterface<T>
{
T returnClassInstance();
}
在课堂上实现这个界面时,只需使用泛型
中的特定类public class MyClass : IMyInterface<ClassInstance>
{
public ClassInstance returnClassInstance()
{
ClassInstance obj = new ClassInstance();
return obj;
}
}
答案 1 :(得分:2)
泛型
public interface IMyInterface<T>
{
T returnClassInstance();
}
public class MyClass : IMyInterFace<ClassInstance>
{
public ClassInstance returnClassInstance()
{
ClassInstance class = new ClassInstance();
return class;
}
}
答案 2 :(得分:1)
您可以这样声明:
public interface IMyInterface<T>
{
T ReturnClassInstance();
}
并实施它:
public class MyClass : IMyInterface<MyClass>
{
public T ReturnClassInstance()
{
return this;
}
}
答案 3 :(得分:1)
您正在寻找Class Factory模式。关于它,这是一个很好的CodeProject article。