私は現在、Custom MembershipProviderの実装を行っています。しかし、私は追加の方法が必要です。MembershipProviderに拡張メソッドを追加する
は、拡張メソッドでそれを行うすることが可能です)
Membership.DoStuff(:私はこのように私のコントローラ内のメンバーシップのオブジェクトに直接これらのメソッドを呼び出すしたいと思いますか?私はどこから始めるのですか?感謝! ありがとう!
私は現在、Custom MembershipProviderの実装を行っています。しかし、私は追加の方法が必要です。MembershipProviderに拡張メソッドを追加する
は、拡張メソッドでそれを行うすることが可能です)
Membership.DoStuff(:私はこのように私のコントローラ内のメンバーシップのオブジェクトに直接これらのメソッドを呼び出すしたいと思いますか?私はどこから始めるのですか?感謝! ありがとう!
多くの例を試した結果、this postは、静的なクラスに拡張メソッドを書くことができないと述べています。
メンバーシップは静的なクラスであり、拡張することはできません。
拡張メソッドについてもっと学ぶのがよいスタートです。次の記事あなたのクラスに直接追加していないのはなぜ
http://technico.qnownow.com/2012/03/17/how-to-create-extension-methods-in-net/
(カスタムMemebershipProviderを持っている)を参照してください、あなたの、あなたはそれを見つけるには、会員clasdをキャスト。
拡張メソッドについて質問した場合、どのクラスでも機能するはずですので、あなたの質問に対する答えはYesです。
はい、メンバシップは拡張可能ですが、静的クラスMembership
を拡張しない(不可能なため)抽象クラスMembershipProvider
を拡張し、Membership.Provider.DoStuff()
のような拡張メソッドを呼び出す必要があります。例えば
:あなたのコード
using Infrastructure.Extensions;
...
Membership.Provider.DoStuff()
...
で
拡張クラス
namespace Infrastructure.Extensions
{
public static class MembershipProviderExtensions
{
public static void DoStuff(this MembershipProvider provider)
{
// do stuff
}
}
}