我目前正在研究自定义 MembershipProvider 实现。但我需要其他方法。我想直接在我的 Controller 中的 Membership 对象上调用这些方法,如下所示:
Membership.DoStuff()
是否可以使用扩展方法来做到这一点?我从哪里开始?谢谢!
我目前正在研究自定义 MembershipProvider 实现。但我需要其他方法。我想直接在我的 Controller 中的 Membership 对象上调用这些方法,如下所示:
Membership.DoStuff()
是否可以使用扩展方法来做到这一点?我从哪里开始?谢谢!
更多地了解扩展方法是一个好的开始。请参考以下文章
http://technico.qnownow.com/2012/03/17/how-to-create-extension-methods-in-net/
你为什么不直接将它添加到你的类(有自定义的 MemebershipProvider)然后将成员资格分类到你的然后你会找到它。
如果您询问它应该适用于任何类的扩展方法,那么您的问题的答案是肯定的。
在尝试了很多示例之后,我发现了这篇文章,他们指出您不能将扩展方法写入静态类。
成员资格是一个静态类,您不能扩展它。
是的,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()
...