問題タブ [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.
java - メソッド名が文字列として指定された場合、Java メソッドを呼び出すにはどうすればよいですか?
2 つの変数がある場合:
のクラスを知らずにobj
、 で識別されるメソッドをどのように呼び出すことができmethodName
ますか?
呼び出されるメソッドにはパラメーターがなく、String
戻り値があります。Java Bean のゲッターです。
c# - リフレクションを使用してメソッドの状態をキャプチャする
.NET リフレクションを使用してすべてのパラメーター/ローカル変数の値を取得する方法はありますか?
c# - System.Reflection 経由で内部メンバーにアクセスしていますか?
多くの内部関数を持つクラスを単体テストしようとしています。これらも明らかにテストが必要ですが、主に多くの小さな関連プロジェクトをカバーしているため、私の Tests プロジェクトは別のものです。私がこれまでに持っているものは次のとおりです。
これにより、すべてのプライベート メンバーが適切に吐き出されますが、内部はまだ表示されません。Visual Studio が生成できる自動生成されたテストをいじっていたときに、Test プロジェクトに内部を表示することについて尋ねたので、これが可能であることはわかっています。さて、今私は NUnit を使っていてとても気に入っていますが、どうすれば同じことを達成できるのでしょうか?
reflection - リフレクションとは何ですか?
私はASP.NETを初めて使用します。私はVB6/ASP(クラシック)/ SQLServer2000のバックグラウンドを持っています。私はVisualStudio2008についてたくさん読んでいます(インストールしていて、いじっています)。私は「リフレクション」について読んだので、誰かに、上記で書いたテクノロジーの年配の開発者に、リフレクションとは何か、なぜそれを使用するのかをできるだけ詳しく説明してもらいたい...その周りの私の頭。ありがとう!
java - 統合テストランナーを使用して、IntelliJ IDEA プロジェクトで「IntegrationTest」で終わるものを除くすべての JUnit 単体テストを実行するにはどうすればよいですか?
基本的に、JUnit の static suite() メソッドを使用して、IntelliJ IDEA プロジェクト (JUnit 統合テストを除く) ですべての JUnit 単体テストを実行したいと考えています。static suite() メソッドを使用する理由 その後、IntelliJ IDEA の JUnit テスト ランナーを使用して、アプリケーション内のすべての単体テストを実行できます (命名規則によってすべての統合テストを簡単に除外できます)。これまでのコードは次のようになります。
メソッド getUnitTestClasses() を書き直して、クラス名が「IntegrationTest」で終わる場合を除き、TestCase を拡張するすべてのプロジェクト クラスを追加する必要があります。
たとえば、Maven でこれを簡単に実行できることはわかっていますが、統合テスト ランナーを使用できるように IntelliJ IDEA で実行する必要があります。緑色のバーが気に入っています :)
c# - クラス名からインスタンスを作成する
実行時にクラスのインスタンスを作成しようとしています。私が作成しようとしているクラスはすべて基本クラス ConfigMgrObj から継承し、ConfigMgr_xxxxxx
egという名前が付けられていConfigMgr_Collection
ます。それらはすべて、私が oController と呼んでいる特別なオブジェクトと文字列を引数として取ります。
これは私がそれを行うために使用している行です。 ClassToGet は、クラスの名前を含む文字列ですConfigMgr_Collection
。
これにより、TypeLoadException 例外がスローされます。どうしたの?
c# - コンストラクターを呼び出さずにWCF逆シリアル化でオブジェクトをインスタンス化するにはどうすればよいですか?
WCF のデシリアライゼーションには魔法がかかっています。コンストラクターを呼び出さずに、データ コントラクト型のインスタンスをどのようにインスタンス化しますか?
たとえば、次のデータ コントラクトを考えてみましょう。
経由でこのオブジェクトのインスタンスを取得するDataContractSerializer
と、フィールド_wasConstructorCalled
がfalse
.
では、WCF はこれをどのように行うのでしょうか。これは他の人も使用できるテクニックですか、それとも私たちから隠されていますか?
c# - 型の部分名から System.Type を取得する
System.Type
で与えられた型名のみを取得したいstring
。
たとえば、オブジェクトがある場合:
それから私は言うことができます:
しかし、私が持っているのは次のとおりです。
java - プリミティブ Java 型を表すクラスを動的に見つける
Java でリフレクティブ メソッドを呼び出す必要があります。これらの呼び出しには、プリミティブ型 (int、double など) の引数を持つメソッドが含まれます。メソッドをリフレクティブに検索する際に、そのような型を指定する方法は、int.class、double.class などです。
課題は、型を動的に指定する外部ソースからの入力を受け入れることです。したがって、これらのクラス参照も動的に作成する必要があります。パラメータ型のリストを含むメソッド名のリストである区切りファイルを想像してください。
入力が のようなものだった場合、その Class インスタンスをjava.lang.String
使用できることがわかります。Class.forName("java.lang.String")
そのメソッドまたは別のメソッドを使用して、プリミティブ型のクラスを取り戻す方法はありますか?
編集:
すべての回答者に感謝します。私がやりたいことをきれいに行う組み込みの方法がないことは明らかなのでClassUtils
、Spring フレームワークのクラスを再利用することにします。私の要件で動作する Class.forName() の代替品が含まれているようです。
c# - サブクラスからジェネリック リストを作成する
私はこの問題に遭遇しました。
ジェネリック タイプ 'A' で宣言されたリストがあり
ます。リストを 'A' のサブクラスであるジェネリック タイプ 'B' として定義したいと考えています。
なぜこれができないのでしょうか?どうすれば同じ効果が得られるでしょうか?