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

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

9
リフレクションを使用して宣言順にプロパティを取得する
クラスで宣言されている順序でリフレクションを使用してすべてのプロパティを取得する必要があります。MSDNによると、使用時に順序を保証することはできませんGetProperties() GetPropertiesメソッドは、アルファベット順や宣言順など、特定の順序でプロパティを返しません。 ただし、プロパティをで並べ替えることで回避策があることを読みましたMetadataToken。だから私の質問は、それは安全ですか?それに関するMSDNの情報が見つからないようです。または、この問題を解決する他の方法はありますか? 私の現在の実装は次のようになります。 var props = typeof(T) .GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) .OrderBy(x => x.MetadataToken);


1
特定の属性をマークしたすべてのプロパティを取得します
そこにクラスとプロパティがあります。一部のプロパティは属性としてマークできます(これは私のLocalizedDisplayName継承元ですDisplayNameAttribute)。これは、クラスのすべてのプロパティを取得するためのメソッドです。 private void FillAttribute() { Type type = typeof (NormDoc); PropertyInfo[] propertyInfos = type.GetProperties(); foreach (var propertyInfo in propertyInfos) { ... } } リストボックスLocalizedDisplayNameに属性の値をマークして表示するクラスのプロパティをリストボックスに追加したいと思います。これどうやってするの? 編集 これはLocalizedDisplayNameAttributeです: public class LocalizedDisplayNameAttribute : DisplayNameAttribute { public LocalizedDisplayNameAttribute(string resourceId) : base(GetMessageFromResource(resourceId)) { } private static string GetMessageFromResource(string resourceId) { var test =Thread.CurrentThread.CurrentCulture; ResourceManager manager …
80 c#  reflection 


3
サブクラスのオーバーライドされた関数を取得する
Pythonでサブクラスのすべてのオーバーライドされた関数を取得する方法はありますか? 例: class A: def a1(self): pass def a2(self): pass class B(A): def a2(self): pass def b1(self): pass ここで、私はリストを取得したい["a2"]クラスのオブジェクトのためにB(またはクラスオブジェクト自体の)クラスからBオーバーライドつだけの方法、すなわちa2。

1
.NETリフレクションを使用してnull可能な参照型を確認する方法
C#8.0では、null許容の参照型が導入されています。次に、null許容プロパティを持つ単純なクラスを示します。 public class Foo { public String? Bar { get; set; } } クラスのプロパティがリフレクションを介してnull可能な参照型を使用しているかどうかを確認する方法はありますか?

1
リフレクションでJIT最適化を打ち破る
並行性の高いシングルトンクラスのユニットテストをいじるとき、次の奇妙な動作に遭遇しました(JDK 1.8.0_162でテスト済み)。 private static class SingletonClass { static final SingletonClass INSTANCE = new SingletonClass(0); final int value; static SingletonClass getInstance() { return INSTANCE; } SingletonClass(int value) { this.value = value; } } public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException { System.out.println(SingletonClass.getInstance().value); // 0 // Change the instance to a …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.