1

我正在尝试编写一个自定义会员课程。继承 Membership 类并为所有包含的必需项(验证用户、创建用户、删除用户、isapproved 等)提供功能似乎可以正常工作。

但是,当我尝试添加属性或方法时遇到问题。

由于所有其他属性和方法都是密封类中的公共覆盖类,因此不会显示其他属性。

例如(仅示例,不是“真实”代码):

public sealed class Membership : MembershipProvider
{
    public override string ApplicationName
    {
        get
        {
            return "myApp";
        }
    }
    public string myValue { get;set;}
}

现在,我明白为什么当我尝试执行 Membership.myValue 时 myValue 不会出现,但 Membership.ApplicationName 会出现。

我的问题是,如何扩展会员资格以显示自定义项目?我是否完全放弃 Membership.xxx 并编写一个包装类?如果是这样,怎么做?我可以找到世界上所有关于如何创建自定义会员等级的文档。如果我只使用所有可用选项,我就有一个可以正常工作的自定义成员。我有一个自定义角色提供程序和一个自定义配置部分来存储所有内容,它是最好的朋友。

我没有的是一个优雅的解决方案。

我希望最终结果是我使用一个引用(例如 Membership.xxx 或 myClass.xxxx)来引用所有会员项目 + 自定义项目。

请提供如何实现的示例或链接到将解决自定义方法项的适当项。

4

2 回答 2

1

每当您引用成员资格实例时,您只需要将其转换为您的类类型,仅此而已。

于 2011-05-11T15:30:56.923 回答
0

如果您不想来回转换实例,可以查看扩展方法

于 2013-10-04T18:04:23.540 回答