【发布时间】:2014-02-28 07:23:15
【问题描述】:
我目前正在使用继承的方法。现在我有一个名为“BaseData”的基类,它被其他 4 个类继承,其中一个是 Category。
我在 BaseData 中有一个辅助方法,它当前返回 BaseData 的数据类型。我可以从继承的类中调用帮助器方法,但我向它添加了对 Category 的强制转换。现在我明白了,即使 Category 继承自 BaseData,它们也是两个完全不同的类。有没有正确的方法来做我想做的事情?还是有可能?
我的基类是这样的
public class DataBase
{
// Accessors and stuff
internal static DataBase BindDataToInstance(DataRow dr)
{
var condition = new DataBase()
{
ID = (string)dr["ID"],
Title = (string)dr["Title"],
Description = (string)dr["Description"]
};
return condition;
}
}
我正在考虑调用方法
public class Condition : BaseData
{
public static Condition GetCondition()
{
return (Condition)BindDataToInstance(ConditionDal.GetCondition(conditionId));
}
提前致谢!
编辑:基本上,我想获取基类的一个实例并将其转换为派生类的实例
Spook Kruger 建议的代码是我目前使用的 - 每个类一个 BindDataToInstance 方法。除了返回类型之外,每个都完全相同。
【问题讨论】:
-
能否请您澄清您的问题,例如通过发布一些代码?
-
听起来您不需要添加演员表。您还没有真正说出您要做什么,因此无法回答是否有正确/可能的方法。
-
分享代码,它将非常有助于我们了解您的目标。您还可以提出一个非常具体的问题,例如:“我无法让 iLoveCats 类从 iLoveDogs 继承,但我可以让它从 iHateDogs 工作”为什么会这样?或者我根本不能让猫和狗说话?等等。你的问题很难回答,因为就像我做了两只动物,一只有两条腿,另一只没有它们是如何工作的?
-
用泛型类代替继承怎么样?
-
我将研究通用类。感谢领导
标签: c# inheritance