1

現在、カスタム MembershipProvider の実装に取り​​組んでいます。しかし、追加の方法が必要です。次のように、Controller 内の 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

yes, Membership is extensible, but you don't extends static class Membership (because it's impossible), you must extends abstract class MembershipProvider, and calls extension methods like Membership.Provider.DoStuff().

For example:

extension class

namespace Infrastructure.Extensions
{
    public static class MembershipProviderExtensions
    {
        public static void DoStuff(this MembershipProvider provider)
        {
             // do stuff
        }
    }
}

in your code

using Infrastructure.Extensions;
...
Membership.Provider.DoStuff()
...
于 2013-07-01T10:16:57.327 に答える