プロパティのジェネリック配列内の型を取得する。 2022年06月30日 10時41分57秒 | C# プロパティに設定してあるジェネリック内の型を取得する。var itemType = propertyInfo.PropertyType.GetGenericArguments().First();
プロパティの値を取得する。 2022年06月30日 10時02分20秒 | C# システム型var value = propertyInfo.GetValue(class); ジェネリック型var values = (IEnumerable)propertyInfo.GetValue(class);
動的に別DLLのインスタンスを作成する。 2022年06月30日 10時02分20秒 | C# アセンブリをロードする。var asm = Assembly.Load(DLLパス); クラスのタイプを取得する。var myType = asm.GetType("名前空間" + クラス名);インスタンスを作成する。var instance = Activator.CreateInstance(myType);
クラスのメソッドを動的に取得し実行する。 2022年06月30日 09時54分44秒 | C# クラスのメソッドを取得する。var classType = class.GetType();var method = classType.GetMethod("Validation");var ret = method.Invoke(class, new object[] { value ]);上記は”Validation”メソッドを取得して実行します。
プロパティの属性を取得する。 2022年06月30日 09時40分43秒 | C# プロパティに設定してある指定の属性を取得する。var attribute = (DespriptionAttribute)propertyInfo.GetCustomeAttribute(typeof(DespriptionAttribute), true).SingleOrDefault();if (attribute ==null) return;上記はDespription属性を取得して存在をチェックしてます。