問題タブ [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 投票する
1 に答える
246 参照

.net - クラス インスタンス内のプロパティ タイプを詳細に検索する

xml を解析し、その xml から指定された型のオブジェクトを作成するメソッドがあります。これはすべて、すべての型に共通のメソッドを持つようにジェネリックを使用して行われます。

私の問題は、(名前ではなく) タイプ名を使用して、さまざまなクラスのプロパティを検索したいということです。プロパティのタイプが「type1」であるとしましょう。次に、クラス定義の一部を以下で宣言します。

上記で宣言されたすべてのクラスについて、オブジェクトを作成すると、上記のクラスの各インスタンスの型付きプロパティにアクセスしたい、つまり、クラスのオブジェクトからtype1宣言されたプロパティの値を取得できるはずです。クラスが増える可能性があるため、これを行う一般的な方法が本当に必要です。type1foo1foo2foo3

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

.net - Environment.CurrentDirectoryとSystem.Reflection

実行中のアセンブリの作業ディレクトリを取得するための次の方法のうち、ベストプラクティスと見なされる推奨事項はありますか?開発者から、昇格されたアクセス許可(管理者として実行)で実行しない限り、 Windows 7SP164ビットでメソッド1が失敗することがあると聞きまし。ただし、方法2は常に機能します。前者が時々失敗する理由はありますか?

方法1:

方法2:

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

c# - NUnit+Reflection を使用すると、ActiveX コントロールでイベントが見つかりません

NUnit と C# を使用して、昔ながらの COM/ActiveX コントロールの単体テストを行っています。私がテストしているコントロールは主に javascript から使用されているため、参照やコンパイル時の型情報はありません。もちろん、すべてを動的に実行します。いくつかのイベント ハンドラーを接続して、イベントが適切に発生していることを確認したいのですが、イベントが見つかりません。次のように、System.Activator.CreateInstance を使用してコントロールのインスタンスを動的に構築します (一部の詳細は省略 ;-):

プロパティとメソッドのテストは、次のように正常に機能します。

以下はすべて失敗し、null または空の配列を返すか、必要に応じて「name not found」例外をスローします。

私は、Reflection API を使用して次のようなことができると思いました (エヘム)。

しかし、その等価物が何であるかを理解できません。編集:Javascriptではこれが機能する(そしてイベントをキャッチする)ため、そのコントロールのそのイベントを信じています:

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

c# - プログラムで.NETAPIにアクセスする

.NET APIに関するメタデータを取得する方法はありますか?

たとえば、に対して定義されているすべてのプロパティSystem.Windows.Documents.Listのリストを取得したいとします。この情報をXML、JSONなどの構造化された形式で取得すると便利です。各エントリは次のようになります。

MSDNライブラリをスクリーンスクレイピングする必要がないようにしたいと思います。:-)

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

c# - 相互運用オブジェクトから動的メンバーと SetValue を取得する

System.__ComObject として表示されるこの相互運用オブジェクトがあり、変数名を使用して値を設定したい:

また、動的メンバーを調べて、利用可能なものを確認する必要があります。一部のメンバー (Ref で終わるメンバー) にはサブメンバーがあるため、それらにもドリルダウンする必要があります。

デバッグでは、動的メンバーは次のように表示されます。(すみません、画像載せれません)

http://www.mezzodev.com/qintegrator/download/debug1.png

http://www.mezzodev.com/qintegrator/download/debug2.png

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

msbuild - msbuild でのリフレクションの問題、devenv は良好

これに関連するSOの質問を調べましたが、この問題に関する質問が見つからなかったため、この質問をしています.

AfterBuildタイプ名を検証するためのビルドタスク(ターゲットとして追加)があります。これらの型名は、ビルド中の Silverlight プロジェクトからの完全修飾型名です。

これらの型名を解決するには、 を使用しますType.ReflectionOnlyGetType()。依存アセンブリをロードするには、AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolveイベントを処理して、プロジェクト出力パスからプロジェクト固有のアセンブリをロードし、Silverlight インストール パスから Silverlight ベース アセンブリをロードしますAssembly.ReflectionOnlyLoadFrom(filepath)

VS2010でプロジェクトをビルドすると、これは完全に正常に機能しますが、MSBuild でビルドすると失敗しますC:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\msbuild.exe "C:\Root\branches\x.x.x\clients.sln" /t:rebuild /p:Configuration=Debug "/p:Platform=Any CPU" /v:quiet /maxcpucount:1

MSBuild でビルド中にReflectionOnlyAssemblyResolveイベントが発生し"System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"、これは Silverlight インストール パスから読み込まれました。しかし、プローブは でこのシステム アセンブリを試行していますが"C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/System.DLL"、メジャー バージョンが一致しないため失敗します。

以下は、この問題に固有のコードの削除されたバージョンです。

私が得る例外は次のとおりです。

また、Silverlight アセンブリ パスを AssemblySearchPaths プロジェクト プロパティに含めて、これをプローブ URL の一部にし、同じにすることも試みました。

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

c# - コントロール情報を取得するために XAML を動的に読み込む方法

コントロールを読み取るためのすべてのクラスのXAMLリフレクションを使用してインスタンスを作成することにより、Silverlight プロジェクトを読み込んですべてのファイルを読み取ろうとしています。Activator.CreateInstanceXAML

C# コード:

おそらく、リフレクションは Silverlight スタイルを認識できませんComboBoxStyle。XAML ファイル内のすべてのコントロールを動的に読み取るインスタンスを作成するにはどうすればよいですか?

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

c# - Serializing a class that's created at runtime

I get multiple XSDs from various clients and I need to give them the data in XML format conforming to the XSD that they have provided. I already have written a code to dynamically create and compile a class from XSD using codedom, System.Reflection and codeprovider. Now my plan is to get data from database through multiple queries and map the fields to the properties of the dynamic class created and serialize it. I am looking for a generic way of mapping these fields, which can be used for any type of xsd and by just mapping the fields it will serialize and gives XML file. As for the queries I am putting them in the config file. Is a generic solution do-able? Any ideas or pointers on how to go about it?

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

c# - 単体テストで GetEntryAssembly が null を返すのはなぜですか?

重複の可能性:
.NET NUnit テスト - Assembly.GetEntryAssembly() が null

System.Reflection.Assembly assem = System.Reflection.Assembly.GetEntryAssembly();

単体テストを実行すると、コードは null を返します。nullも返すサードパーティのユーティリティをテストしています。両方とも null を返す場合、2 つのプログラムを区別できません。

単体テストのコンテキストでプログラムを実行していることを確認するにはどうすればよいですか? 作成する障害点のため、構成ファイルに追加したくありません。EG ビットをフリップするのを忘れたので、dev モードで Prod にプッシュされます。私の上司は製品にプッシュします。明白な政治的動機のために、彼が仕事を繰り返したり、設定ファイルを定期的に変更したりする必要はありません。

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

c# - 埋め込まれた nlog 構成ファイルにアクセスできませんか?

入力ストリームとしてnullエラーを取得していますか? プロジェクトフォルダーの下に構成ファイルを追加しました。