嗨,我想創建一個基類繼承,但我有一些問題。C#泛型遺傳數據訪問
我有兩個類裏面做幾乎相同的工作,但讓他們從不同的數據庫,並使用不同的內部數據結構來處理數據的數據。 我想在基地也基本虛擬DoSomething的方法和理想的虛擬數據訪問方法。
第二個問題可以通過使用泛型來解決,但我不能使用泛型作爲我使用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
}
}
你似乎需要一個工廠來創建上下文與創建一個共同的接口/基類。 – CodingBarfield
實際上你正在試圖完成什麼? –