Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 优雅的Asp.NETMVC3自定义成员资格包装类,具有扩展(自定义)方法和属性_Asp.net Mvc 3_Custom Membershipprovider - Fatal编程技术网

Asp.net mvc 3 优雅的Asp.NETMVC3自定义成员资格包装类,具有扩展(自定义)方法和属性

Asp.net mvc 3 优雅的Asp.NETMVC3自定义成员资格包装类,具有扩展(自定义)方法和属性,asp.net-mvc-3,custom-membershipprovider,Asp.net Mvc 3,Custom Membershipprovider,我正在尝试编写一个自定义成员类。在Membership类中,它似乎可以正常工作,并为所有包含的必需项(validate user、create user、delete user、isapproved等)提供函数 然而,当我尝试添加属性或方法时,我遇到了一个问题 由于所有其他属性和方法都是密封类中的公共重写类, 其他属性不会显示 例如(仅示例,而非“真实”代码): 现在,我明白了为什么在尝试创建Membership.myValue时myValue不会出现,但Membership.Applicati

我正在尝试编写一个自定义成员类。在Membership类中,它似乎可以正常工作,并为所有包含的必需项(validate user、create user、delete user、isapproved等)提供函数

然而,当我尝试添加属性或方法时,我遇到了一个问题

由于所有其他属性和方法都是密封类中的公共重写类, 其他属性不会显示

例如(仅示例,而非“真实”代码):

现在,我明白了为什么在尝试创建Membership.myValue时myValue不会出现,但Membership.ApplicationName会出现

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

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

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


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

任何时候引用成员资格实例,您只需将其强制转换为您的类类型,仅此而已。

任何时候引用成员资格实例,您只需将其强制转换为您的类类型,就这些。

如果你不想前后转换你的实例,你可以看一看

如果你不想前后转换你的实例,你可以看一看

我知道这很简单。但不管出于什么原因,我的大脑都不会去解决这个问题。这是否意味着每次我引用membership.xxxx时,我都会调用(myclass)membership.xxxxyes-仅当您想访问这些自定义属性时,否则只需使用membership.xxx当然:)使用您自己的静态类包装对membership的调用并使用该类,可能会更干净,因此您不会到处施放,除非您只在一两个地方使用这些自定义道具。公共密封类成员身份:MembershipProvider{public override string ApplicationName{get{return“myApp”;}}}public string myValue{get;set;}}}我知道就这么简单。但不管出于什么原因,我的大脑都不会去解决这个问题。这是否意味着每次我引用membership.xxxx时,我都会调用(myclass)membership.xxxxyes-仅当您想访问这些自定义属性时,否则只需使用membership.xxx当然:)使用您自己的静态类包装对membership的调用并使用该类,可能会更干净,因此您不会到处施放,除非您只在一两个地方使用这些自定义道具。公共密封类成员身份:MembershipProvider{public override string ApplicationName{get{return“myApp”;}}}public string myValue{get;set;}}
public sealed class Membership : MembershipProvider
{
    public override string ApplicationName
    {
        get
        {
            return "myApp";
        }
    }
    public string myValue { get;set;}
}