将扩展方法添加到MembershipProvider

时间:2012-04-10 11:13:23

标签: asp.net membership

我目前正在开发Custom MembershipProvider实现。但我需要其他方法。我想直接在Controller中的Membership对象上调用这些方法,如下所示:

Membership.DoStuff()

是否可以使用扩展方法执行此操作?我从哪里开始? 谢谢!

4 个答案:

答案 0 :(得分:0)

了解有关扩展方法的更多信息是一个良好的开端。请参阅以下文章

http://technico.qnownow.com/2012/03/17/how-to-create-extension-methods-in-net/

extension methods (MSDN)

答案 1 :(得分:0)

为什么不直接将它添加到您的类(具有自定义MemebershipProvider),然后将成员资格clasd转换为您的,然后您将找到它。

如果您询问扩展方法,它应该适用于任何课程,因此您的问题的答案是肯定的。

答案 2 :(得分:0)

在尝试了很多例子后,我发现this post,他们声明你不能将扩展方法写入静态类。

成员身份是一个静态类,您无法扩展它。

答案 3 :(得分:0)

是的,成员资格是可扩展的,但是你没有扩展静态类Membership(因为它是不可能的),你必须扩展抽象类MembershipProvider,并调用像Membership.Provider.DoStuff()这样的扩展方法。

例如:

扩展类

namespace Infrastructure.Extensions
{
    public static class MembershipProviderExtensions
    {
        public static void DoStuff(this MembershipProvider provider)
        {
             // do stuff
        }
    }
}

代码

using Infrastructure.Extensions;
...
Membership.Provider.DoStuff()
...