問題タブ [methodinfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
9721 参照

c# - リフレクションで保護された内部メソッドを取得する方法

LogAttribute でメソッドを取得してみます =>

LogAttributeで保護されたオーバーライドメソッドを取得するには?

0 投票する
0 に答える
72 参照

c# - HashSet と MethodInfo

ちょっとしたリフレクションを実行するルーチンを書いています。進行するにつれて、遭遇したMethodInfoインスタンスに対していくつかの検証を実行します - それらのパラメーターと戻り値の型を、事前に決定されたコントラクトに対して検証します。この検証は安価ではないため、以前に検証されたメソッドのコレクションを記録して、ルーチンが複数回遭遇した場合に再度検証する必要がないようにしたいと考えています。

するべきか...

  1. を使用してHashSet<MethodInfo>、検証済みのMethodInfoインスタンスをそれに追加します。
  2. を使用し、検証済みのメソッドをそれにHashSet<int>追加しますMethodHandle
  3. を使用し、検証済みのメソッドをそれにHashSet<int>追加しますMetadataToken

MethodInfoインスタンスを取得していないため、オプション 1 を選択するのは気が進まない。それらがどこから来たのかを制御することはできず、同じ型の同じメソッドを表す複数のインスタンスを取得できないのではないかと考えています。

オプション 2 と 3 は、全体が 1 つのアプリ ドメイン内で実行されるため、実行可能と思われます。MethodHandleandに関するドキュメントはほとんどありMetadataTokenません。アプリ ドメイン内でいつ変更されるかはわかりません。

0 投票する
1 に答える
195 参照

c# - リフレクトされたメソッドをパラメーターとして別のリフレクトされたメソッドにデリゲートとして渡す

私はそのような署名を持つ関数を持っています

反省して得たもの。アクションの値もリフレクションによって取得されるため、私のコードでは、「MethodInfo」をパラメーターとして呼び出しに渡す方法を見つける必要があります。

問題は、文字列型とデリゲート型を持つパラメーター リストを作成できないことです。これはどのように渡す必要がありますか?

0 投票する
2 に答える
1050 参照

c# - MethodInfo.Invoke() の Object パラメータは何のためですか?

Object objのパラメータの目的は何MethodInfo.Invoke()ですか?

MSDN のドキュメントには次のように書かれています。

メソッドまたはコンストラクターを呼び出すオブジェクト

オブジェクトの「上」でメソッドを呼び出す方法がわかりません。Main()またはクラスからメソッドを呼び出しただけだと思いました。それだけです。

また、このパラメータに任意のタイプの任意のオブジェクトを使用できますか?

0 投票する
1 に答える
1268 参照

c# - リフレクションを使用してメソッドまたはクラスのドキュメントを取得するには?

Writeline メソッドの methodInfo オブジェクトを取得しました。そのメソッドの定義を見ると、次のようになります。

私が欲しいのは、特定のメソッドのコメントを取得することです。、リフレクションを使用してこれを達成する方法はありますか? または他の可能な方法は?

0 投票する
1 に答える
1470 参照

c# - Roslyn は IMethodSymbol から MethodInfo を取得します

IMethodSymbol (Roslyn 構文ツリー) から MethodInfo (反射) を確実に取得するにはどうすればよいですか。IMethodSymbol から Type を取得できます。この型には多くのメソッドがあり、そのうちの 1 つが IMethodSymbol インスタンスに一致します。

例えば

ここで、IMethodSymbol は「Equals」を識別します

[Int32] 型には 2 つの [Equals] メソッドがあり、1 つは [Object] を取得し、もう 1 つは [Int32] パラメータを取得します。

スクリプトを解析していますが、ワークスペース インスタンスがありません。

何か案は?ステボ