問題タブ [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.
c# - IsAssignableFromとGetInterfaceの違いは何ですか?
.Netでリフレクションを使用すると、次の違いは何ですか。
と
どちらがより適切ですか、なぜですか?
どちらかが失敗するのはいつですか?
c# - C# (.NET 2.0) で指定された TableAdaptor および SqlDataAdaptor の Sql Command オブジェクトを取得する方法
アプリケーション用の一般的なエラー処理/ロギング クラスを作成しています。目標は、例外情報、クラスと関数 (およびパラメーター) に関する情報、および関連する場合はSystem.Data.SqlClient.SqlCommandオブジェクトに関する情報をログに記録することです。
SqlCommands、TableAdaptors、および の受け渡しを処理できるようにしたいと考えていますSqlDataAdaptors。
私はリフレクションを使用するのが初めてで、これが可能であることを知っていますが、どうすればよいかわかりません。お知らせ下さい。
java - Java API でお気に入りの分野は?
他の Java プログラマーがこの言語の好きな部分を何と感じているのか、なぜそのように感じているのか、なぜ他のプログラマーがそれについての詳細な知識を必要とするのかを知りたいと思っています。シンプルさ、パフォーマンスなどの理由を探しています。ありがとうございます。
c# - リフレクションによるコレクションへのアクセス
リフレクションを使用してコレクションを (できれば foreach を介して) 反復処理する方法はありますか? リフレクションを使用してオブジェクトのプロパティを反復処理しています。プログラムがコレクションである型に到達したら、コレクションの内容を反復処理して、コレクション内のオブジェクトにアクセスできるようにしたいと考えています。
現時点では、コレクションであるプロパティで IsCollection フラグを true に設定して、すべてのプロパティに属性を設定しています。私のコードはこのフラグをチェックし、それが true の場合、リフレクションを使用して Type を取得します。コレクションでGetEnumeratorまたはItemsを何らかの方法で呼び出して、アイテムを反復処理できるようにする方法はありますか?
c# - クラスインスタンスのジェネリックパラメータの値を決定するにはどうすればよいですか
私は次のように定義されたマーカーインターフェイスを持っています
IExtenderを実装するクラスがあります
実行時に、評価メソッドのパラメーターとしてUserExtenderタイプを受け取ります
Evaluateメソッドを返すにはどうすればよいですか
実行時の評価に基づいています。リフレクションが関係していると確信していますが、それをクラックすることはできないようです。
(この質問の言い方がわかりませんでした。十分に明確であることを願っています。)
c# - C# でリフレクションによって匿名オブジェクトを作成する
.NET 3.5 で実行時にリフレクションを介して C# 3.0 匿名オブジェクトを作成する方法はありますか? シリアル化スキームでそれらをサポートしたいので、プログラムで操作する方法が必要です。
ユースケースを明確にするために後で編集
追加の制約は、Silverlight アプリ内ですべてを実行することです。そのため、追加のランタイムはオプションではなく、オンザフライでコードを生成する方法が不明です。
c# - memberInfo.GetValue() C#
インスタンスのメンバーの値を取得するには?
propertyInfos には がありますがpropertyInfo.GetValue(instance, index)、memberInfo にはそのようなものはありません。
ネットで調べたのですが、メンバーの名前とタイプを取得するだけにとどまるようです。
java - クラスの拡張インターフェースの決定
インターフェイスを表すClassオブジェクトが別のインターフェイスを拡張するかどうかを判断する必要があります。
仕様によると、 Class.getSuperClass()はインターフェイスに対してnullを返します。
このクラスがObjectクラス、インターフェイス、プリミティブ型、またはvoidのいずれかを表す場合、nullが返されます。
したがって、以下は機能しません。
何か案は?
c# - Assembly.GetCallingAssembly() と静的コンストラクター?
わかりましたので、眉をひそめた次の問題に遭遇しました。
さまざまな理由から、TestingAssembly.dll の Testing クラスが BaseTestingAssembly.dll の TestingBase クラスに依存するテスト セットアップがあります。その間に TestBase が行うことの 1 つは、それ自体と呼び出し元のアセンブリで特定の埋め込みリソースを探すことです。
したがって、私の BaseTestingAssembly には次の行が含まれていました...
私が考えたので、これらのアセンブリはアプリケーションの存続期間中同じであるため、すべてのテストでそれらを再計算する必要はありません。
ただし、これを実行すると、_assembly と _calling_assembly の両方がそれぞれ BaseTestingAssembly と TestingAssembly ではなく BaseTestingAssembly に設定されていることに気付きました。
変数を非静的に設定し、通常のコンストラクターで初期化するとこれが修正されましたが、なぜこれが始まったのか混乱しています。静的コンストラクターは、静的メンバーが初めて参照されたときに実行されると思いました。これは、呼び出し元である必要がある私の TestingAssembly からのみ可能でした。何が起こったのか知っている人はいますか?