2

怠惰なプロパティをリフレクションで動的に初期化したいと思います。

オブジェクトプロパティをループし、次のようにこのプロパティの遅延読み込みを作成したいと思います。

Lazy<propertyInfo.propertyType> = new lazy<propertyInfo.propertyType>(() => methodInfo.invoke)

怠惰はこれを許可しません。

リフレクションでこれを行う方法はありますか?(多分activator.createinstance)

4

1 に答える 1

1

これを試して:

Lazy<object> lazyType = new Lazy<object>(() => {
    return Activator.CreateInstance(propertyInfo.propertyType);
});

lazyType.Value;

Value プロパティにアクセスすると、Lazy オブジェクトは Func を呼び出し、プロパティ タイプのインスタンスを返します。

それが役に立てば幸い

于 2013-03-28T13:53:25.013 に答える