我阅读了有关 contra 和 covariance 问题的信息,看起来我的代码属于该类别。我只是想确认我是否做错了什么。我正在使用 VS 2005(公司政策..)
我有几个类如下:
entityBase{}
entity1 : entityBase {}
entity2 : entityBase {}
我有另一组类如下:
dalBase<T> where T: entityBase {}
entity1Dal : dalBase<entity1>{}
entity2Dal : dalBase<entity2>{}
现在,我想要一个工厂方法来根据参数返回 dal 类 - 如下所示:
public xxxType GetDalClass(pType) {
if (pType == "1") return new entity1Dal();
if (pType == "2") return new entity2Dal();
}
我的问题:这个方法的返回类型应该是什么 - 换句话说,entity1Dal 和 entity2Dal 是否有一个公共基类?
我尝试了dalbase,但它没有用。
谢谢,萨拉瓦娜