我目前正在使用自定義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()
...