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

c# - C# : System.Reflection.GetFields() を使用してフィールド メタデータを表示する

重複の可能性:
リフレクションでプライベート フィールドを見つけますか?

System.Reflection.GetFields() メソッドを使用して、クラスのフィールド名を表示しようとしています。

問題は、フィールドが「パブリック」として宣言されている場合にのみ機能することです。例えば ​​:

System.Reflection.GetFields() メソッドを呼び出そうとすると、機能しません (空の配列が返されます)。ただし、フィールドの可視性を「パブリック」に変更すると、機能します..

公開せずに機能させる方法を知っている人はいますか?

ありがとう

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

c# - メソッドを呼び出そうとしたときにエラーが発生しました

私はこのコードを持っています:

System.Reflection.Emitを介して新しいメソッドを作成しようとしています。しかし、それは私にこのエラーを投げます:

誰かがそれを機能させるためにどのように修復する必要があるか、またはどこにエラーがあるか知っていますか?助けてください。

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

c# - Metroスタイルアプリのカスタムクラス属性

MetroStyleAppポータブルライブラリのクラスでカスタム属性を定義して取得しようとしています。

何かのようなもの

これは通常の4.5で機能しますが、メトロスタイルアプリを対象とするポータブルライブラリでは、

ありがとう

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

c# - System.Reflection.Emitでの遅いタイプの作成

System.Reflection.Emitを多用してソースコードのコンパイル済みバージョンを出力する必要があるプロジェクトに取り組んでいますが、全体を出力しようとすると速度が低下することに気付きました(一部しか出力していません)テスト用)。つまり、946タイプに対して「TypeBuilder.CreateType()」メソッドを呼び出すには75秒以上かかります。これを、出力するデータの膨大な量に部分的にチョークします。これは、逆コンパイルすると60MBのファイルに拡張される3.01MBのdllです。 ILDasmを使用します。

さて、このデータの残りの発行プロセスは合計で約40秒しかかかりません(そしてそれらの40秒にはかなりのデバッグデータの発行が含まれます)ので、なぜこの唯一の方法にそれほど時間がかかるのか疑問に思います。誰か知っている?そして、今回は減らす方法はありますか?

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

c# - Roslynを使用してリフレクション操作を実行する方法

Roslynを使用して、次のクラスでリフレクションスタイルの操作を実行したいと思います。

基本的に私はこれをやりたいのですが、Roslynと一緒に:

基本的に、上記のリフレクションの例で使用した基準を満たすメソッドのリストを取得したいと思います。また、RoslynでReflectionのような操作を行う方法を説明しているサイトを知っている人がいたら、遠慮なくその方向に私を向けてください。私は何時間も探していましたが、これを進めることができないようです。

前もって感謝します、

ボブ

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

c# - インスタンスの作成とランタイム アセンブリのプロパティの割り当て

xsd から生成されるクラスのインスタンスを作成する一般的なソリューションを作成する必要があります。例えば:

この xsd ランタイムからアセンブリを生成すると、クラス PS、PSP、および PSFX が含まれます。この場合、私はプロパティと何を期待するかを知っているので、createinstance と getproperties と setvalue が機能します。ポートフォリオには PortfoliosPortfolio の配列があることを知っています。

ここで、任意の xsd (上記だけでなく) を取り、アセンブリを生成できる汎用ソリューションが必要です。私はすでにアセンブルを生成しましたが、そこに存在するプロパティがわからないクラスにプロパティを動的に割り当てるにはどうすればよいですか? つまり、一般的なソリューションを作成するときに、クラスが別のクラスのオブジェクトのリストを使用していることをどのように知ることができるかということです。したがって、クラス名とプロパティ名をハードコーディングする代わりに、インスタンスとプロパティを取得する方法があります。上記のスニペットからわかるように、データセットの値をプロパティに割り当てています。計画では、データベースに値を columnname、attributename、parentnode として格納します。したがって、P ノードの PName 属性は列名 Pname から取得されます。コードにハードコーディングがないように設計したいと考えています。

申し訳ありませんが、ご容赦ください。意味が分からない場合はお知らせください。

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

asp.net-mvc-3 - カスタムモデルフィールド属性で他のモデルフィールドにアクセスするには?

問題は、他のモデル フィールドにアクセスする必要がある asp.net mvc3 でカスタム モデル フィールド属性を作成しようとしていることです。たとえば、「PersonId」という名前です。

だから私はこのようなモデルを持っています

そして私はカスタム属性を持っています

したがって、基本的には、さらに使用するために [CustomAttribute] で aPersonId フィールドを取得する必要があります。リフレクションの使用を考えていましたが、そこにモデル オブジェクトを取得する方法がわかりません。助けてくれてありがとう。

0 投票する
9 に答える
30444 参照

c# - C#呼び出し元アセンブリの親アセンブリ名を取得する

私が取り組んでいる C# 単体テスト アプリケーションがあります。関連するアセンブリは 3 つあります。C# アプリ自体のアセンブリ、アプリが使用する 2 番目のアセンブリ、2 番目のアセンブリが使用する 3 番目のアセンブリです。

したがって、呼び出しは次のようになります。

3 番目のアセンブリで行う必要があるのは、2 番目のアセンブリを呼び出した最初のアセンブリの名前を取得することです。

2 番目のアセンブリの名前を返します。と

NULL を返す

最初のアセンブリのアセンブリ名に到達する方法があるかどうかは誰にもわかりませんか?

他のユーザーの要求に従って、ここにコードを配置します。これは 100% コードではありませんが、このようなコードに従います。

とテストプロジェクトの方法

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

c# - Reflectionでカスタム演算子を呼び出す方法

私の小さなプロジェクトでは、System.Reflectionクラスを使用して実行可能コードを生成しています。+カスタムタイプの演算子を呼び出す必要があります。C#リフレクションを使用してカスタムクラスのカスタマイズされた演算子を呼び出す方法を知っている人はいますか?

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

c# - C# リフレクション: If ... else?

私は現在、オペレーターとの新しい問題に直面しています。if ... else次のコードを使用して、C# でペアを使用する場合と同じ出力を作成したいと考えています。

私の質問は次のとおりです。

  1. 分岐オペコードのパラメーターとして渡す命令のアドレスを取得するにはどうすればよいですか?
  2. BRBR_SBrtrueBrtrue_SBrfalseおよびBrfalse_S類似の命令に違いはありますか?

ありがとう。