反射の確認方法は"延長方法"
-
05-09-2019 - |
質問
の一環として申請している機能を受けMethodInfo、必要な特定の操作によってその方法は"拡張手法"があります。
私はMethodInfoクラスを見つけられなかった問 IsExtension 物件はフラグこの方法です。
は誰でも知っていてレンチをお使いいただけまからのメソッドのMethodInfo?
解決
タグに基づいて、
C位するにおけるF#の拡張メソッド
コンパイルされた形式の属性があると思われます。この方法は、この属性を持っているのであれば参照してください。
http://msdn.microsoft.com /en-us/library/system.runtime.compilerservices.extensionattribute.aspxする
他のヒント
話ができる IsDefined 方法のMethodInfoインスタンスに見出されていないかを説明する場合は、 ExtensionAttribute 適用方法:
bool isExtension=someMethod.IsDefined(typeof(ExtensionAttribute),true);
この先に質問すると非常によく似ています、価値があるかもしれません見て。提案 ExtensionAttribute のどのあなたが後にあるかのように聞こえます。
あなたがインスタンスから
MethodInfo
を取得している知っている場合メソッドは静的である場合は、、あなたは簡単に確認することができます。拡張メソッドは単なるシンタックスシュガーであり、インスタンスを渡し静的メソッド呼び出しに変換します。
コンパイラは、静的メソッドにすべての拡張メソッドを切り替えないコンパイル時にコールする?
myList.First();
となります。
Enumerable.First(myList);
このような場合は、その後、(あなたが反映されます).NETランタイムには拡張メソッドはありません。
所属していません StackOverflow