【发布时间】:2016-01-17 11:49:22
【问题描述】:
我有一个像这样的基类:
public class Base{
private string name = string.Empty();
public Base(string name){
this.name = name;
}
public string Name{get;set;}
}
我有一个泛型类,它继承自 Base 类,还包含一个返回泛型类型 T 的对象的方法,如下所示:
public SubClass<T>:Base{
public SubClass(string name):base(name){}
public T method(string parameter){
//do some stuff here and return T
return T;
}
}
我实例化了SubClass的一个对象:
object instance = new SubClass<object>("name");
并且我不在构造函数中使用泛型类型。 SubClass 构造函数中的参数是预定义的类型(例如字符串、整数等)。这个实现工作正常但我想知道这是否正确?有没有另一种更合适的方法来做到这一点。谢谢
编辑
上下文:
Base 类是一个处理与 CouchDB 的连接的类。所以我提供了必要的信息(用户名、密码、主机、端口和数据库名称),SubClass 是 CouchDB 的一个简单客户端。因此,当我创建 SubClass 的对象时,我想提供 CouchDB 的凭据,并且还想提供我期望从数据库中获得的模型(例如 Account 模型、Product 模型)。
【问题讨论】:
-
您已经正确定义了子类及其构造函数。并且您在实例化时将“对象”指定为泛型类型。但是为什么要将实例存储为对象?如果然后指定对象,那么创建泛型类型有什么意义?你到底想达到什么目的?
标签: c# oop generics inheritance