嗨,我想创建一个继承的基类,但我遇到了一些问题.
我有两个类几乎完成相同的工作,但从不同的数据库中获取它们使用的数据,并使用不同的内部数据结构来操作数据.
我想在基础中使用虚拟doSomething方法,理想情况下也可以在基础中使用虚拟dataAccess方法.
第二个问题可以通过使用泛型来解决,但我不能使用泛型来解决第一个问题,因为我使用的DBMl上下文的构造函数不是无参数的.
我是不是错了.我想要干,但似乎正在反对继承.
示例代码如下.
class Foo { private _ctx DBML.Database1; // Inherits from System.Data.Linq.DataContext public Foo(string constring) { _ctx = new DBML.Database1(constring); } private DoSomeThing() { FooDataObj = DataAccess(1); } private FooDataObj DataAccess(int ID) { var v = from t in _ctx where t.Id = ID select new FooDataObj(t); return v } } class Bar { private _ctx DBML.Database2; // Inherits from System.Data.Linq.DataContext public Bar(string constring) { _ctx = new DBML.Database2(constring); } private DoSomeThing() { BarDataObj = DataAccess(1); } private BarDataObj DataAccess(int ID) { var v = from t in _ctx where t.Id = ID select new BarDataObj(t); return v } }
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。