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.

```cs
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; }
    } 

    ....
}

```