Попытка унаследовать три базовых класса и не можетC#

Место общения программистов C#
Ответить
Anonymous
 Попытка унаследовать три базовых класса и не может

Сообщение Anonymous »

У меня есть несколько вопросов, связанных с дизайном моего пользователя < /code> класса, но
они достаточно разные, чтобы я думаю, что они должны быть независимыми
questions.
Итак, первое связано с наследством базовых классов. В настоящее время я наследую два класса, ProfileBase и ISessionMgrentry как таковой:
public class User : ProfileBase, ISessionMgrEntry

Но я также хочу унаследовать третий класс, участник , например:
public class User : ProfileBase, MembershipUser, ISessionMgrEntry
< /code>
Однако компилятор не позволит мне сделать это. Почему? И как мне получить
вокруг этого? Я думаю, что приведенное ниже решение может работать для того, что я пытаюсь добиться. Это кажется довольно простым и простым. Я делаю это, чтобы я мог создать полный/комбинированный пользователь объект. Кто -нибудь видит причину, почему это может вызвать проблемы? Тот, который появился, когда я был дин, это перекрывающиеся свойства. Например, оба членафильма и profilebase share "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; }
}

....
}


Подробнее здесь: https://stackoverflow.com/questions/220 ... s-and-cant
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»