リフレクションを利用するときのメモ。instanceオブジェクトのプロパティ一覧を取得してから、プロパティの値を取得する方法。 取得対象はpublicなプロパティ。
[sourcecode language="csharp"]
var infoArray = instance.GetType().GetMembers(BindingFlags.Public | BindingFlags.Instance); foreach (var memberInfo in infoArray) { // プロパティのみを対象にする if (memberInfo.MemberType != MemberTypes.Property) continue;
// プロパティ名を取得する var propertyName = memberInfo.Name;
// オブジェクトの値を取得する var instanceValue = GetValue(instance, propertyName);
... } [/sourcecode]