問題タブ [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.
c# - リフレクションで保護された内部メソッドを取得する方法
LogAttribute でメソッドを取得してみます =>
LogAttributeで保護されたオーバーライドメソッドを取得するには?
c# - HashSet と MethodInfo
ちょっとしたリフレクションを実行するルーチンを書いています。進行するにつれて、遭遇したMethodInfo
インスタンスに対していくつかの検証を実行します - それらのパラメーターと戻り値の型を、事前に決定されたコントラクトに対して検証します。この検証は安価ではないため、以前に検証されたメソッドのコレクションを記録して、ルーチンが複数回遭遇した場合に再度検証する必要がないようにしたいと考えています。
するべきか...
- を使用して
HashSet<MethodInfo>
、検証済みのMethodInfo
インスタンスをそれに追加します。 - を使用し、検証済みのメソッドをそれに
HashSet<int>
追加しますMethodHandle
- を使用し、検証済みのメソッドをそれに
HashSet<int>
追加しますMetadataToken
MethodInfo
インスタンスを取得していないため、オプション 1 を選択するのは気が進まない。それらがどこから来たのかを制御することはできず、同じ型の同じメソッドを表す複数のインスタンスを取得できないのではないかと考えています。
オプション 2 と 3 は、全体が 1 つのアプリ ドメイン内で実行されるため、実行可能と思われます。MethodHandle
andに関するドキュメントはほとんどありMetadataToken
ません。アプリ ドメイン内でいつ変更されるかはわかりません。
c# - リフレクトされたメソッドをパラメーターとして別のリフレクトされたメソッドにデリゲートとして渡す
私はそのような署名を持つ関数を持っています
反省して得たもの。アクションの値もリフレクションによって取得されるため、私のコードでは、「MethodInfo」をパラメーターとして呼び出しに渡す方法を見つける必要があります。
問題は、文字列型とデリゲート型を持つパラメーター リストを作成できないことです。これはどのように渡す必要がありますか?
c# - MethodInfo.Invoke() の Object パラメータは何のためですか?
Object obj
のパラメータの目的は何MethodInfo.Invoke()
ですか?
MSDN のドキュメントには次のように書かれています。
メソッドまたはコンストラクターを呼び出すオブジェクト
オブジェクトの「上」でメソッドを呼び出す方法がわかりません。Main()
またはクラスからメソッドを呼び出しただけだと思いました。それだけです。
また、このパラメータに任意のタイプの任意のオブジェクトを使用できますか?
c# - リフレクションを使用してメソッドまたはクラスのドキュメントを取得するには?
Writeline メソッドの methodInfo オブジェクトを取得しました。そのメソッドの定義を見ると、次のようになります。
私が欲しいのは、特定のメソッドのコメントを取得することです。、リフレクションを使用してこれを達成する方法はありますか? または他の可能な方法は?
c# - Roslyn は IMethodSymbol から MethodInfo を取得します
IMethodSymbol (Roslyn 構文ツリー) から MethodInfo (反射) を確実に取得するにはどうすればよいですか。IMethodSymbol から Type を取得できます。この型には多くのメソッドがあり、そのうちの 1 つが IMethodSymbol インスタンスに一致します。
例えば
ここで、IMethodSymbol は「Equals」を識別します
[Int32] 型には 2 つの [Equals] メソッドがあり、1 つは [Object] を取得し、もう 1 つは [Int32] パラメータを取得します。
スクリプトを解析していますが、ワークスペース インスタンスがありません。
何か案は?ステボ