List<T>
プロパティでカスタムクラスの値を取得しようとしていますが、例外がスローされます(オブジェクトはターゲットタイプと一致しません)。汎用リストプロパティの値を取得しようとしましたが、私に例外があります
値がNull
であるかどうか最初にチェックし、値を処理したい場合は、まずチェックします。
モデル:モデルデータを処理するための
public class CustomModel
{
public List<Foo> FooList { get; set; }
public List<Bar> BarList { get; set; }
}
コード:
public class Result<T>
{
private readonly T _model;
public Result(T model)
{
_model = model;
}
private CustomObject CreateSomething(T model)
{
var obj = new CustomObject();
var type = model.GetType();
var properties = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (var property in properties)
{
if (property.PropertyType.IsGenericType &&
typeof(List<>).IsAssignableFrom(property.PropertyType.GetGenericTypeDefinition()))
{
//this throws an error
var testList = property.GetValue(this, new object[] { });
//processed value will be passed to object
//some codes here after getting the property value
}
}
return obj;
}
}
私はそれらを処理することができますので、私は値を取得するにはどうすればよいですか?
ちょうどあなたのコードをテストし、うまく動作します – Fabjan
それは私の最後にはありません。 – rpmansion
キーワード 'this'によって参照されているこのクラスの関連する部分で、より多くのコードを提供できますか(すべてのプロパティが「短いバージョン」ではない) – Fabjan