問題タブ [system.reflection]

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 投票する
4 に答える
5747 参照

c# - System.Reflection を使用して ASP.NET 2.0 aspx ページを読み込みますか?

System.Reflection を使用して、スタンドアロン aspx ページを別のスタンドアロン aspx ページに読み込むことはできますか?

ASP.NET 2.0 Web サイト プロジェクト モデルを使用しています。

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

.net - .NET リフレクション - 静的メンバーを定義する型を見つける

反射に問題があります。静的メンバーをインスタンス化する型を見つける必要があります。私のコードは次のようになります。

PropertyRepository は、(明らかに) プロパティのリポジトリです。私が構築している型システムを使用して登録されたすべてのプロパティを追跡します。

これを成功させるには、すべてのプロパティだけでなく、それらが定義されている型も追跡する必要があります。そうしないと、同じ名前の 2 つのプロパティが定義されている場合、プロパティ リポジトリはそれらを区別できません。

そこで、NameProperty を定義する型を見つけて、その型と名前を保存したいと思います。どうやってやるの?

厳密な型指定を使用したい、つまり、型を引数として PropertyRepository.Register に送信したくない。型引数が正しいことを検証できないため、エラーが発生しやすくなります。

解決策には、熟考が必要だと思います。リフレクションを使用して、どの型が静的メソッドを呼び出すかを判断する方法はありますか? 静的プロパティは、(コンパイラが生成する) 静的コンストラクターを使用して暗黙的にインスタンス化されます。そのコンストラクターへのハンドルを取得する方法はありますか? それは実現可能のようですが、それを行う方法がわかりません。

つまり、メソッド A がメソッド B を呼び出した場合、B がリフレクションを使用して A から呼び出されたことを知る方法はありますか? あると思いますが、方法がわかりません。

誰か知っていますか?

編集:私は StackFrame クラスを見てきましたが、それは私が望むことをしているように見えますが、本番コードでは信頼できないかもしれません(そして私はそれが必要です)。

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

.net - アセンブリを呼び出してアプリケーション名を取得する

MyProgram.EXEユーティリティ アセンブリを参照するコンソール アプリケーション ( ) があります。

Utilities アセンブリには、次のようなコードがあります。

から呼び出すと、 " "MyProgram.EXEを受け取ります。AppName is: Utilities.dll

私が欲しいのは " AppName is: MyProgram.EXE"

私は何を間違っていますか?

0 投票する
3 に答える
27173 参照

c# - リフレクションを使用してメソッド名とパラメーターを取得する

メソッド名とパラメーターに基づいて、Memcachedのキーをプログラムで作成する方法を試しています。だから私が方法を持っているなら、

それは戻ります:

リフレクションを使用してMethodBaseを取得できることは知っていますが、パラメータータイプではなく、文字列内のパラメーター値を取得するにはどうすればよいですか?

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

.net - .NET で文字列から Type オブジェクトを取得する最良の方法

.NET で文字列を Type オブジェクトに変換する最良の方法は何ですか?

考慮すべき問題:

  • 型が別のアセンブリにある可能性があります。
  • 型のアセンブリがまだ読み込まれていない可能性があります。

これは私の試みですが、2番目の問題には対処していません

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

asp.net - JavaScript トリガー - vb.net API 呼び出しの反映?

javascript コードからのリフレクションを使用して vb.net api 関数を呼び出すことはできますか?

リフレクションをいじり始めたところです。動作するコードのスニペットがあり、JavaScript ページに変更したいと考えています。

これが可能かどうか誰にもわかりますか?

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

c# - リフレクション-返されるオブジェクトのタイプを設定しますか?

さまざまなタイプのオブジェクトにデータ行を入力し、関連するオブジェクトの各属性=データ行の同様の名前フィールドに入力します。

これを行うには、ジェネリック関数を使用したいと思います。ジェネリック関数からリターンオブジェクトのタイプを強制するにはどうすればよいですか。<T>構文が実際に 何を意味するのかまだわかりません:PopulateObject<T>コンパイラエラーが発生したため、型を返しません-型'object'を'JobCard'に暗黙的に変換できません以下のコードを参照してください

----2番目の回答後に更新----

このコードの使用:private T PopulateObject(T dataObj、System.Data.DataRow dataRow){

しかし、私は別の障害にぶつかりました。属性の1つは、実際にはCustomerと呼ばれる別のオブジェクトであり、独自の11個の属性があります。ネストされたオブジェクトがまだ潜んでいるのではないかと思います。データ行にフィールドが1つしかない、これらのネストされたオブジェクトの入力をどのように処理しますか?

これらのオブジェクトを処理するには:-親ObjdataでChildObjタイプを抽出する必要があります-ChildObjTypeと完全なデータ行を渡すProcessChildObj()関数を呼び出します-そしてProcessChildObj()で名前を一致させ、設定しますその属性?

または(上記のコードのように)-PopulateObjectを再帰的に呼び出します。ただし、obj型を再帰呼び出しに渡そうとするとコンパイラが文句を言うので、これには問題があります。

propertyitem.SetValue(dataObj、PopulateObject(propertyitem、dataRow)、null); //コンパイラメッセージ「Operator'<'はタイプ'methodgroup'および'System.type'のオペランドに適用できません」を引き起こします

ネストされたchildObjのタイプを抽出して、そのタイプをパラメーターとして渡すにはどうすればよいですか?

0 投票する
3 に答える
1535 参照

c# - C# で属性を保持する型/メソッド/... への高速アクセス

ここでは、AAtribute という名前のカスタム属性を作成しました。たとえば、1 つ以上のメソッドがこの属性を使用する B というクラスを作成しました。アセンブリ全体を調べたり、属性に対して定義されたすべてのメソッドを調べたりせずに、属性 (この場合は BMethod1) をその属性 (の 1 つ) として保持するメソッドの MethodInfo を取得することは可能ですか? そして、それらは他の AttributeTargets (パラメーター/タイプ/プロパティ/...) の類似の方法ですか? そのタイプの属性を使用するすべてのメソッドの配列は必要ありませんが、この属性オブジェクトを部分的に使用するメソッドだけが必要です。メソッドに追加の制約を設定するために使用したい (戻り値の型、パラメーター、名前、その他の属性の使用法など)。

0 投票する
3 に答える
10103 参照

c# - リフレクションを使用してコンストラクターを MethodInfo として取得する方法

コンストラクタは次のようになります。

Reflection を使用して MethodInfo として取得する必要があります。以下を試しましたが、コンストラクターが見つかりません ( GetMethodreturn null)。

私は何を間違っていますか?

0 投票する
7 に答える
57962 参照

.net - .NET アセンブリでの LoadFile と LoadFrom の違いは?

私はmsdnのドキュメントを見ていましたが、アセンブリを使用する場合LoadFileLoadFromロードする場合の正確な違いについてまだ少し混乱しています。誰かがそれをよりよく説明するための例または類推を提供できますか. MSDN のドキュメントは、私をさらに混乱させました。また、反射モードでのみアセンブリをロードすることを除いてReflectionOnlyLoadFrom、 と同じです。LoadFrom

私の .NET の経験はあまりよくないので、LoadFile を使用した MSDN ドキュメントに関するいくつかの質問を以下に示します。

LoadFile1)同じ ID を持つが、異なるパスにあるアセンブリを調べるとはどういう意味ですか? 正体(例)は?

2) はLoadFileファイルを「LoadFrom コンテキスト」にロードせず、ロード パスを使用して依存関係を解決しないと述べています。これはどういう意味ですか、誰かが例を提供できますか?

3) 最後に、LoadFileLoadFrom は ID が同じでパスが異なるアセンブリを読み込めないため、この限定されたシナリオで役立つと述べています。最初のそのようなアセンブリのみをロードするため、同じ質問が再び発生します。アセンブリのアイデンティティは何ですか?