问题:我有一个实体类(基类),我从中继承了多次。现在我在所有派生类中都有一个Add
-method 和一个-method。Validate
这些函数在所有派生类中都是相同的,它们是static
.
这是我的Add
方法
public static long Add(DBData[] UserData)
{
SortedDictionary<string, DBData> Data = new SortedDictionary<string, DBData>();
foreach (DBData d in UserData)
{
Data.Add(d.FieldName, d);
}
if (Project.Validate(Data, OperationMode.Add))
{
return DBUtility.Insert("Project", VSCommon.Serialise(Data));
}
else
{
return -1;
}
}
现在我Project
在上面的函数中有“”(2个地方,一个如果Project
这个函数类型的对象也属于,另一个是数据库表名)。这些是我所有派生类的唯一区别。我想把这个Add
方法放在我的基类中,这样我就可以跳过在每个派生类中多次编写它。
我搜索并发现有些人尝试使用泛型,但我似乎没有像使用泛型声明时那样选择它。当我调用Validate
-method 时出现编译错误。另外,我需要类的名称string
来获取相关的表名。
不确定我是否能够定义我的问题,感谢任何帮助。谢谢。