2009-09-26 74 views
1

我認爲這更多的是一種多態的問題,但它適用於亞音速表對象...添加屬性使用檢索現有對象亞音速

這裏的東西(我喜歡這一個):

TblUser userObj = new TblUser(1);

其中的所有PK = 1的好東西都會填充userObj的屬性。

現在,我想添加更多的屬性到現有的用戶對象,例如,帳號的一個ArrayList屬性。

我見過這樣的問題 - 「向現有對象添加一個屬性...」,但在這種情況下,最推薦創建一個用戶包裝對象,然後有一個TblUser屬性類型,還有我自己的其他屬性呢?

好的,所以看起來像一次 - 我已經想出了一個解決方案,但我仍然對向現有對象添加屬性的可能性感到好奇。

回答

4

所有生成的SubSonic類都是partials,所以您只需在同一個名稱空間中創建具有相同名稱的自己的分部類,然後在編譯時合併它們即可。例如對於你的TblUser類:

public partial class TblUser 
{ 
    public List<AccountNumber> AccountNumbers 
    { 
    get 
    { 
     // Get and return the AccountNumbers 
    } 
    } 
} 
+0

約翰,謝謝你的答案。 不過,我用填充TblUser(用戶ID)對象 - 漂亮......但我在我的部分類有一個問題: 命名空間My.DAL { 公共部分類TblUser:PayTrail.DAL。 TblUserCard { 公共TblUser() { } 公共TblUser(長的userID) { moreValues = 「更多的值!!!」; } private string moreValues;公衆字符串MoreValues { } // set {moreValues = value; } } \t } } – ElHaix 2009-09-29 22:36:07

+0

eew。沒有代碼。這是TblUser()對象填充用戶相關數據的事情,一旦userID被傳遞。問題是,當我在我的代碼中引用TblUser時,它只看到MoreValues屬性,而沒有它的父項。 – ElHaix 2009-09-29 23:22:21

+0

所以...我有一個對象w /一個名爲UserDetails(long userID)的構造函數。 UserDetails構造函數填充TblUser對象,該對象通過UserDetails中的TblUser UserObj屬性公開。 所以UserDetails.UserObj.FirstName(有點醜)和UserDetails.FullName - 這是我自己的自定義屬性。那麼我該如何優化呢? – ElHaix 2009-09-29 23:45:15