3

私は.Netが初めてで、拡張メソッドを使用していました。リフレクションによって拡張メソッドを呼び出す方法を知りたいですか? パフォーマンスへの影響はありますか? これに対するポインタは役に立ちます。

4

1 に答える 1

1

拡張メソッドは、コードの見栄えを良くするための単なる構文糖衣です。覚えておくべき唯一のことは、それらは実際には静的クラスの静的メンバーであり、拡張している型のメソッドではないということです。パフォーマンスに関しては、リフレクションを介してそれらを呼び出すことは、他の静的メソッドを呼び出すことと同じです。

static class MyExtensions
{
    public static void Foo(this int i)
    {
        // do something
    }
}

var methodInfo = typeof(MyExtensions).GetMethod("Foo");
methodInfo.Invoke(null, new object[] { 1 });
于 2013-06-04T13:07:17.990 に答える