タグ付けされた質問 「reflection」

リフレクションは、実行時にプログラムの構造や動作を観察および/または変更するプログラムの機能です。リフレクションは、サポートするプログラミング言語に依存しています。このタグを使用する場合は、使用しているプログラミング言語にタグを付けてください。


30
Javaでジェネリック配列を作成する方法は?
Javaジェネリックの実装のため、次のようなコードは使用できません。 public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } タイプセーフを維持しながらこれをどのように実装できますか? Javaフォーラムで次のような解決策を見ました。 import java.lang.reflect.Array; class Stack<T> { public Stack(Class<T> clazz, int capacity) { array = (T[])Array.newInstance(clazz, capacity); } private final T[] array; } しかし、私は本当に何が起こっているのかわかりません。

8
リフレクションを使用してジェネリックメソッドを呼び出すにはどうすればよいですか?
型パラメーターがコンパイル時に不明であるが、実行時に動的に取得される場合にジェネリックメソッドを呼び出す最善の方法は何ですか? 次のサンプルコードについて考えてみましょう。Example()メソッド内で、変数に格納されたものをGenericMethod<T>()使用して呼び出す最も簡潔な方法は何ですか。TypemyType public class Sample { public void Example(string typeName) { Type myType = FindType(typeName); // What goes here to call GenericMethod<T>()? GenericMethod<myType>(); // This doesn't work // What changes to call StaticMethod<T>()? Sample.StaticMethod<myType>(); // This also doesn't work } public void GenericMethod<T>() { // ... } public static void …
1071 c#  .net  generics  reflection 

22
C#でリフレクションを使用して文字列からプロパティ値を取得する
リフレクションを使用してデータ変換を実装しようとしていますコードに 1の例しています。 の GetSourceValueこの関数は、様々なタイプを比較するスイッチがありますが、私はこれらのタイプやプロパティを削除して持ちたいGetSourceValueパラメータとしてのみ単一の文字列を使用してプロパティの値を取得します。文字列でクラスとプロパティを渡し、プロパティの値を解決したいと思います。 これは可能ですか? 1 元のブログ投稿のWebアーカイブバージョン

28
コードが含まれているアセンブリのパスを取得するにはどうすればよいですか?
現在のコードが存在するアセンブリのパスを取得する方法はありますか?呼び出し元のアセンブリのパスは必要ありません。コードが含まれているパスだけが必要です。 基本的に、ユニットテストでは、dllに関連して配置されているいくつかのxmlテストファイルを読み取る必要があります。テストdllがTestDriven.NETから実行されているか、MbUnit GUIから実行されているかに関係なく、パスが常に正しく解決されるようにしたい。 編集:人々は私が求めていることを誤解しているようです。 私のテストライブラリはsayにあります C:\ projects \ myapplication \ daotests \ bin \ Debug \ daotests.dll そして私はこのパスを取得したいと思います: C:\ projects \ myapplication \ daotests \ bin \ Debug \ これまでの3つの提案は、MbUnit Guiから実行すると失敗します。 Environment.CurrentDirectoryc:\ Program Files \ MbUnit を与えます System.Reflection.Assembly.GetAssembly(typeof(DaoTests)).Location 与え\ DocumentsとSettings \ジョージ\ローカル設定\一時\ .... \ DaoTests.dll:C System.Reflection.Assembly.GetExecutingAssembly().Location 前と同じを与えます。
781 c#  .net  reflection  mbunit 


21
メソッド名を文字列として指定した場合、Javaメソッドを呼び出すにはどうすればよいですか?
2つの変数がある場合: Object obj; String methodName = "getName"; のクラスを知らずにobj、methodNameそれによって識別されたメソッドを呼び出すにはどうすればよいですか? 呼び出されるメソッドにはパラメーターがなく、String戻り値があります。それはだのJava Beanのゲッター。
684 java  reflection  invoke 






14
プログラム的にdefault(Type)と同等
リフレクションを使用してTypeのプロパティをループし、特定のタイプをデフォルトに設定しています。これで、タイプを切り替えてdefault(Type)明示的に設定することができましたが、1行で行いたいと思います。プログラム的にデフォルトに相当するものはありますか?
514 c#  reflection  default 


23
Enumの値の属性を取得する
それ自体enumではなく値の属性を取得できるかどうか知りたいのenumですが?たとえば、次のように仮定しますenum。 using System.ComponentModel; // for DescriptionAttribute enum FunkyAttributesEnum { [Description("Name With Spaces1")] NameWithoutSpaces1, [Description("Name With Spaces2")] NameWithoutSpaces2 } 私が欲しいのは、列挙型が与えられ、列挙文字列値とその説明の2タプルを生成することです。 価値は簡単でした: Array values = System.Enum.GetValues(typeof(FunkyAttributesEnum)); foreach (int value in values) Tuple.Value = Enum.GetName(typeof(FunkyAttributesEnum), value); しかし、どのように説明属性の値を取得して入力するにはどうすればよいTuple.Descですか?Attributeがenumそれ自体に属している場合の方法を考えることができますが、の値からそれを取得する方法について私は途方に暮れていますenum。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.