1

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

Membership.DoStuff()

是否可以使用扩展方法来做到这一点?我从哪里开始?谢谢!

4

4 回答 4

0

更多地了解扩展方法是一个好的开始。请参考以下文章

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

扩展方法 (MSDN)

于 2012-04-10T13:17:25.397 回答
0

你为什么不直接将它添加到你的类(有自定义的 MemebershipProvider)然后将成员资格分类到你的然后你会找到它。

如果您询问它应该适用于任何类的扩展方法,那么您的问题的答案是肯定的。

于 2012-04-10T13:26:39.507 回答
0

在尝试了很多示例之后,我发现了这篇文章,他们指出您不能将扩展方法写入静态类。

成员资格是一个静态类,您不能扩展它。

于 2012-04-23T08:56:50.620 回答
0

是的,Membership 是可扩展的,但你不扩展静态类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()
...
于 2013-07-01T10:16:57.327 回答