Я пытаюсь написать пользовательский класс членства. Кажется, все работает нормально, наследуя класс Membership и предоставляя функции для всех включенных необходимых элементов (проверка пользователя, создание пользователя, удаление пользователя, одобрение и т. Д.).
Однако я сталкиваюсь с проблемой, когда пытаюсь добавить свойства или методы.
Поскольку все другие свойства и методы являются открытыми переопределенными классами в запечатанном классе,
дополнительные свойства не отображаются.
Скажем, например (только пример, а не «реальный» код):
public sealed class Membership : MembershipProvider
{
public override string ApplicationName
{
get
{
return "myApp";
}
}
public string myValue { get;set;}
}
Теперь я понимаю, почему myValue не будет отображаться, когда я пытаюсь сделать Membership.myValue, а членство.ApplicationName будет.
Мой вопрос: как продлить членство, чтобы показывать пользовательские элементы? Должен ли я полностью отказаться от Membership.xxx и написать класс-оболочку? Если так, то как? Я могу найти всю документацию в мире о том, как создать собственный класс членства. У меня есть работающее пользовательское членство, которое отлично работает, если я использую только все доступные опции. У меня есть пользовательский поставщик ролей и пользовательский раздел конфигурации для хранения всего, и это лучший друг.
Чего у меня нет, так это элегантного решения.
Я бы хотел, чтобы конечным результатом было то, что я использую одну ссылку (например, Membership.xxx или myClass.xxxx) для ссылки на все элементы членства + пользовательские элементы.
Пожалуйста, предоставьте примеры того, как реализовать или ссылки на соответствующие элементы, которые будут разрешать элемент пользовательских методов.