当我弄清楚如何在 C# 中为 ASP.NET 项目创建子类时,我感觉很聪明,然后我发现了一个问题——我不知道如何根据 SQL 查询的结果创建正确子类的对象.
假设您有一个名为 Animal 的类和两个名为 Zebra 和 Elephant 的子类。你明白吗?
我想要做的是执行一个 SQL 查询,如果返回的行有 row["Type"]="Zebra" 然后加载一个 Zebra 对象(或者如果它是一个大象那么......)。
所以,原则上,Animal 类应该有一个静态方法:
class Animal{
public static Animal Load(DataRow row){
if (row["Type"]=="Zebra"){
return new Zebra();
}
}
class Zebra : Animal{
//some code here
}
这是可能的还是我只是简单地理解了子类的想法是错误的。很明显,我不是 OO 专家。
在此先感谢,杰克