【发布时间】:2011-09-21 18:56:02
【问题描述】:
我有一门课,例如:
public MyClass
{
public myEnumType Status {get;set;}
public DataTable Result{get;set;}
}
因为 DataTables 很烂,我想实现面向对象的方法。但是我有现有的代码,例如:
public interface IData
{
MyClass AddData(int i);
MyClass GetData(string Tablename);
}
我想使用这个接口,但我不想返回 DataTable,而是想返回某种类型的对象,例如/Person 类。
我确实想过创建一个继承 MyClass 的新类,如下所示:
public MyInheritedClass<T> : MyClass
{
public new T Result{get;set;}
}
但是,当您从实现接口的类中获取数据时,您必须将方法的结果从 MyClass 转换为 MyInheritedClass。所以我想知道是否有一种方法可以使用现有的 MyClass 来放置一个传递泛型类型的构造函数,所以我最终得到了类似的东西
public MyClass
{
public MyClass(T MyObjectOrientatedClass)
{
MyOOClass = MyObjectOrientatedClass;
}
public myEnumType Status {get;set;}
public DataTable Result{get;set;}
public T MyOOClass {get;set;}
}
【问题讨论】:
-
如果您希望类
MyClass具有泛型类型的属性,则它必须是泛型的
标签: c# .net generics c#-4.0 .net-4.0