我有幾個問題涉及到我的User
類的設計,但 他們是不同的,我認爲他們應該是獨立的 問題。試圖繼承三個基類,不能
所以,第一個涉及基類的繼承。我目前 繼承兩個類,ProfileBase
和ISessionMgrEntry
這樣:
public class User : ProfileBase, ISessionMgrEntry
但是,我也想繼承第三類,MembershipUser
,像這樣:
public class User : ProfileBase, MembershipUser, ISessionMgrEntry
但是,編譯韓元」讓我這樣做。爲什麼?而且,我該如何獲得 ?
謝謝。
PS - ASP.NET 3.5/C#
編輯
嗨。我認爲下面的解決方案可能適用於我試圖達到的目標。看起來非常簡單直接。我正在這樣做,因此我可以創建一個完整/組合的User
對象。有人認爲這可能導致問題的原因嗎?我在做這件事的時候出現了一個重疊的屬性。例如,MembershipUser
和ProfileBase
共享「UserName
」。我應該選擇一個還是另一個?或者這會成爲設計缺陷嗎?建議?再次感謝。
public class User
{
#region Constructors
private readonly MembershipUser _MembershipUser;
private readonly ProfileBase _ProfileBase;
#endregion
public User()
{
_MembershipUser = new MembershipUser();
_ProfileBase = new ProfileBase();
}
public string Comment
{
get { return _MembershipUser.Comment as string; }
set { _MembershipUser.Comment = value; }
}
public bool IsAnonymous
{
get { return _ProfileBase.IsAnonymous as bool; }
}
....
}
爲什麼當你在道具上做'as'? – ChaosPandion 2010-02-05 18:12:36
你說得對,我以爲這是脫口而出。我遵循這個約定,但意識到它的不同情況: [SettingsAllowAnonymous(false),CustomProviderData(「IPAddress; string」)] public string IPAddress {get {return base [「IPAddress」] as string; } set {base [「IPAddress」] = value; }} – 2010-02-05 19:05:21