2010-07-23 35 views
2

我怎樣才能將屬性添加到這是在其他組件創建的模型。我們有許多應用程序,從桌面應用程序到Web應用程序,因此我需要每個模型都需要的類庫以及它們之間的關係。我很容易引用我的類庫並查詢需要什麼。但是,由於這樣的事實,我不是在每個表中每場模型(有些表有向上30+場)。如何從另一個程序集擴展模型?

我怎樣才能延長原有的模式給它更多的屬性?還是應該簡單地對我使用的表格中的所有內容建模?我最初的想法是,如果開發人員能夠根據自己的意願擴展任何模型以滿足他的項目需求,那將會很好。

回答

2

你可以繼承自己的類新的裝配形式的基類舊組裝性的,如果你有舊的引用,這個類是公共的。

+0

有沒有辦法使用的東西,以局部類?我知道你不能使用來自不同程序集的部分類,但有可能使用另一種方法來模仿這種效果嗎? – Mike 2010-07-26 12:25:04

+0

@wb你說的是,他們的班級2周的人分裂GUI組件? – Arseny 2010-07-26 12:42:21

0

除了什麼Arseny是建議通過增加所謂的擴展方法,你可以「假擴展類」。舉個例子,你可以這樣擴展字符串:

public static class StringExtensions 
{ 
    public static string Affix(this string source, string prefix, string suffix) 
    { 
     return string.Format("{0}{1}{2}", prefix, source, suffix); 
    } 
} 

其中僅利用上它的擴展,因此它不破不修改偷別人類的合同不擁有源代碼的類公開曝光的東西。但它增加了語法糖,讓你調用類的,如果你確實修改了它,就像這樣:

string myString = "MyString"; 
string result = myString.Affix("Before", "After"); 
// result contains "BeforeMyStringAfter" 
相關問題