我試圖想到用不同字段在兩個對象之間創建通用接口的最佳解決方案。具有不同字段的對象之間的通用接口
Interface Base {
void dosomething();
}
Class A : Base {
string x;
string y;
void dosomething();
}
Class B : Base {
string a;
string b;
string c;
void dosomething();
}
問題是當我創建一個基礎對象時,我仍想訪問這些字段。我想到的解決方案是使用「as」命令來鍵入cast。有沒有更優雅的解決方案?
現在還不清楚你真的想在這裏實現什麼。我們不知道創建對象的代碼是什麼,或者代碼使用什麼對象。這是目前的XY問題...... –
我基本上有另一個函數,它需要一個基礎對象。有幾個派生類的基地。如果Base是B類型的,我想訪問它的字段a,b,c。我想到的唯一的另一個解決方案是創建一個字典來存儲字段,但看起來並不乾淨。 – user3750474
這聽起來像是一個設計問題,與其他任何東西一樣 - 對於需要Base方法需要了解具體子類的方法而言,這是相當難看的。 –