私のC#アプリケーションでは、public virtual void ValidateModel()
というメソッドを持つクラスBaseDomainModel
から継承したオブジェクトを時々処理します。私の例では、少なくともから継承する型の1つのプロパティを持つCompanyUser
オブジェクトのインスタンスを取得しています。子プロパティのメソッドを呼び出そうとしています
私はこれらのプロパティを調べて、それらのプロパティに対してValidateModel()
メソッドを呼び出したいと思います。私は現在、このメッセージが出てい
var validatableProperties = testCompanyUser.GetType().GetProperties().Where(p => p.PropertyType.BaseType == typeof(BaseDomainModel));
foreach (var thisProperty in validatableProperties)
{
var m = thisProperty.PropertyType.GetMethod("ValidateModel", Type.EmptyTypes);
m.Invoke(thisProperty.GetValue(testCompanyUser), null);
}
:
非静的メソッドは、ターゲットが必要です。ここ
は、私がこれまで持っているものです。
私は何かが簡単ではないと確信しています。私は何を間違えたのですか?
[msdn](https://msdn.microsoft.com/en-us/library/a89hcwhh(v = vs.110) .aspx)は、Invokeの使用法、特に 'TargetException'がスローされる条件について詳しく説明します。 –