問題タブ [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 に答える
1607 参照

c# - Get underlying WebResponse from MethodInfo generated from SoapHttpClientProtocol

I've spent a while looking at this but am struggling to get any useful answers.

Basically I have a SoapHttpClientProtocol that I've compiled from a WSDL previously. I then get the MethodInfo for my particular method from the clientProtocol and Invoke it using the standard Invoke method.

What you get back is just the response from the web service cast as an object. What I want to do is get the actual SOAP response that is passed back so I can get into the actual XML. I have seen a non-thread safe way of doing this but that is no help in this case. Does anyone know a way of doing this. Maybe some form of proxy?

Would be extremely grateful if anyone could help.

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

.net - MethodInfo とデリゲート

dotnet 2.0 を使用しています

EventInfo 値を使用すると、アセンブリの型をループして、EventInfo デリゲート定義 ( EventInfo.EventHandlerType ) に一致するすべてのメソッドを見つけることができることを知っています。

最初にすべての参照アセンブリをループしてすべてのデリゲート定義を見つけることなく、特定の MethodInfo を Delegate.CreateDelegate() 関数で割り当てることができる利用可能なデリゲートを見つける方法はありますか?

または、私は次のことをしている:

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

.net - リフレクションを使用して文字列名を使用せずに汎用MethodInfoを取得し、汎用パラメーターは実行時に解決されます

Castlewindsorのサブ依存関係リゾルバーを作成しています。リゾルバーは、汎用インターフェースを実装するオブジェクトを返します。ジェネリックパラメータは実行時に解決され、ファクトリは正しい実装を返すために使用されます。ファクトリメソッドのMethodInfoを取得するために文字列を使用したくありません。以下は機能しますが、ファクトリcreateメソッドを解決するためのより良い方法が必要だと思います。GetMethodNameとその使用方法を参照してください。

これが虐待であるかどうかはわかりませんが、それで仕事は終わります。明らかな何かが欠けていると感じています。MethodInfoの汎用パラメーターをMethodCallExpressionから変更する方法、またはMethodInfoからその「親」に戻って必要な型を使用してMakeGenericMethodを呼び出す方法があることを期待していました。

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

c# - MethodInfo.Invoke には Windows 7 で管理者が必要ですか?

そのため、実行時にアセンブリを読み込んでおり、アセンブリの種類に応じてジェネリックも使用しています。適切な型を取得するために、各 DLL は、正しいジェネリック型でクラスをインスタンス化するファクトリを実装しています。

管理者権限がない場合、このコードは method.Invoke で失敗します。私が使用している方法で MethodInfo.Invoke を呼び出すには管理者が必要であるというのは正しいですか? DLL のコードにステップ ダウンしましたが、Factory へのこの呼び出しを通過することさえできません。

edit : 説明されていないターゲット DLL の依存関係があったことが判明しました。ただし、提案された MEF フレームワークのアイデアは気に入っています。

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

c# - 銀光の反射 | 渡されたパラメーターを持つ GetCurrentMethod

次のように、現在のメソッド呼び出し (戻り値を含む) を Visual Studio 出力に出力したいと考えています。

デバッグ中に、これを使用して、より多くの情報を取得します (たとえば、ここに示すコンバーターから)。ただし、それはあくまでも回り道です。

より柔軟にする方法はありますか?GetCurrentArguments (MethodInfo から) のようなものですか?

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

c# - C#でのユーザー入力に基づいて、プリミティブ型に解析します

これを行うための私のコードは、ユーザー入力の代わりに、私が与えたリフレクションと文字列を使用します。最終的には、ユーザーが「float」「2.0」と言って、コンピューターに「float」または「bool」「abc」と言わせることができるようにしたいと思います。これは、聞いたブール値ではありません。

ユーザー入力を受け取り、それを「string」から「System.String」、「float」から「System.Single」などのプリミティブ型の名前に変換するのは簡単です(ただし、関数を知っている場合)そうするためには、それも素晴らしいことです。)

コードは次のとおりです。

しかし、最後から2番目の行でnull例外が発生し続けます。そこで何が起こっているのですか?

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

c# - リフレクションを使用して、署名付きのオブジェクト インスタンスでジェネリック メソッドを呼び出します: SomeObject.SomeGenericInstanceMethod(T引数)

どのように電話しSomeObject.SomeGenericInstanceMethod<T>(T arg)ますか?

ジェネリック メソッドの呼び出しに関する投稿がいくつかありますが、このようなものではありません。問題は、メソッド引数パラメーターがジェネリック パラメーターに制限されていることです。

署名が代わりにあった場合、私はそれを知っています

SomeObject.SomeGenericInstanceMethod<T>(string arg)

次に、 MethodInfo を取得できました

typeof (SomeObject).GetMethod("SomeGenericInstanceMethod", new Type[]{typeof (string)}).MakeGenericMethod(typeof(GenericParameter))

では、通常の引数がジェネリック型の場合、MethodInfo を取得するにはどうすればよいでしょうか? ありがとう!

また、ジェネリック パラメーターに型の制約がある場合とない場合があります。

0 投票する
4 に答える
1741 参照

c# - ParameterInfoがジェネリック型であるかどうかを判断する方法は?

MethodInfoGenericMethodDefinitionがあります。例:CallMethod<T>(T arg, string arg2)。GetParameters()メソッドは2つのParameterInfoオブジェクトを提供します。最初のオブジェクトは汎用であり、2番目のオブジェクトはそうではありません。ParameterInfoを取得して、それが汎用であることを通知するにはどうすればよいですか?制約がある場合はどうですか?

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

c# - System.Reflection.MethodInfo.Invoke and multiple threads ( with return type )

I have been looking through the other questions on the site and have found this post.

stack overflow original post

Ben Voigts answer is very useful and I believe I have it working in my system.

The issue I have is that in some cases I will need a value to be returned from the method invocation.

I was going to just leave a comment on that post but my rep isnt high enough to leave comments.

Hopefully either Ben will see this post or someone else will be able to extend his answer to include how to return a value.

Please let me know if there is any other information you require.

Kind Regards

Ash

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

dynamic - C# を使用して、実行時にパラメーター、プロパティ、および戻り値の型を読み取る 1 つの方法

以前のスレッドUsing Reflection read properties of an object containing array of another objectに続きます。EvgK のこの素晴らしいメソッドを、私のコード ベースの複数の場所で使用できる汎用メソッドにしたいと考えています。

繰り返しますが、ユーザーから渡されたメソッドを読み取ろうとしています。パラメータ、そのプロパティ、および値をリストします。ユーザーが入力値を提供したら、メソッドを動的に呼び出して結果オブジェクトを取得します。結果は GetMyProperties() メソッドに渡され、メソッドはすべてのプロパティ (n レベルまで) - 名前、値、および型をリストします。

現在、2 つの方法があります (以下の定義)。

最初のものを使用して、選択したメソッドのすべてのパラメーターのリストとそのプロパティ (名前、値、および型) を表示します。

..ユーザーがパラメーターを入力できるように、プロパティのリストを作成します。カスタム タイプかどうかの ParameterType および GetProperties メソッド チェックに合格します。カスタムタイプの場合、入力用のグリッドにバインドするリストを作成するために、タイプを使用して再帰的に呼び出します。

2 番目のメソッド GetMyProperties(object obj) は、返されるオブジェクトを一覧表示するために使用されます。コンパイル時に選択したメソッドの戻り値の型がわからないため、オブジェクト型を使用します。2 番目のメソッドを何らかの方法で変更して、パラメーター、プロパティ、および戻り値の型を読み取るために使用できるかどうかを知りたいですか? 別々の方法を持つ代わりに?コードの再利用を試みています。