我目前正在使用自定义MembershipProvider实现。但我需要额外的方法。我想直接调用这些方法的成员对象在我的控制之内是这样的:将扩展方法添加到MembershipProvider
Membership.DoStuff()
是否有可能做到这一点与扩展方法?我会在哪里开始? 谢谢!
我目前正在使用自定义MembershipProvider实现。但我需要额外的方法。我想直接调用这些方法的成员对象在我的控制之内是这样的:将扩展方法添加到MembershipProvider
Membership.DoStuff()
是否有可能做到这一点与扩展方法?我会在哪里开始? 谢谢!
在尝试了很多例子之后,我发现this post他们声明您不能将扩展方法写入静态类。
成员资格是一个静态类,你不能扩展它。
了解更多关于扩展方法是一个好的开始。请参考以下文章
http://technico.qnownow.com/2012/03/17/how-to-create-extension-methods-in-net/
你为什么不其直接添加到您的类(有自定义MemebershipProvider)再投隶属clasd到你,那么你会发现它。
如果你问扩展方法,它应该适用于任何类,所以你的问题的答案是肯定的。
是,会员是可扩展的,但你不知道扩展静态类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()
...