【发布时间】:2010-11-04 14:09:35
【问题描述】:
我有接口:
public interface Inx<T>
{
T Set(Data data);
}
使用此方法的简单类
public class Base
{
??? Set(Data data) { ... }
}
和这样的父类:
public class Parent : Base, Inx<Parent>
{
...
}
我想从子类中的 Set 方法返回父类型 这是可能的 ? 我需要它来做这样的事情:
list.Add(new Parent().Set(data));
现在我必须这样做:
T t = new T();
t.Set(data);
list.Add(t);
它有点烦人,我必须使用它很多次
很抱歉,我可以使用这样的垃圾邮件:
this.GetType().GetConstructor(new System.Type[] { typeof(Data) }).Invoke(new object[] { data })
所以也许好的解决方案是从此方法返回一个对象;\ ?
具有泛型接口的泛型类似乎会浪费大量内存...因为此类的功能相同,只是返回类型不同
【问题讨论】: