Hi.
I have a few questions related to the design of my User class but they are different enough that I think they should be independent questions.
So, the first is related to inheritance of base classes. I am currently inheriting two classes, ProfileBase and ISessionMgrEntry as such:
public class User : ProfileBase, ISessionMgrEntry
But, I also want to inherit a third class, MembershipUser, like this:
public class User : ProfileBase, MembershipUser, ISessionMgrEntry
However, the compiler won't let me do that. Why? And, how do I get around this?
Thanks.
PS - ASP.NET 3.5 / C#
EDIT
Hi. I think the below solution may work for what I am trying to acheive. It seems pretty simple and straight forward. I am doing this so I can create a complete/combined User object. Does anybody see any reason why this might cause problems? One that came up while I was ding this is overlapping properties. For example, both MembershipUser and ProfileBase share "UserName". Should I just chose one or the other or will this be a design flaw? Suggestions? Thanks again.
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; }
}
....
}