私は現在、ビジネス ロジックで必要なフィールドを設定しようとしています。この場合は Lazy です。(はい、プロパティではありません。フィールドを設定する必要があります) ご覧のとおり、Lazy を Lazy に変換できないというエラーが表示されます。
1[System.Object]' cannot be converted to type 'BusinessLogic.Lazy
「BusinessLogic.Lazy 1[BusinessLogic.ArtikelBLL] 」タイプのオブジェクト
この行を使用して、動的リポジトリを取得します。
dynamic repository = Activator.CreateInstance(typeof(GenericRepository<>).MakeGenericType(typeArgs));
次に、フィールドの値を設定しようとしましたが、失敗しました:
fInfo.SetValue(obj, Lazy.From(() => repository.GetDataById(id)));
私はそれをさまざまな方法で解決しようとしました。どういうわけかrepository.GetDataById(id)
、探しているエンティティにキャストする必要があります。この場合、これは ArtikelBLL (これを通過できますpInfo.PropertyType
) です。しかし、そう(ArtikelBLL)repository.GetDataById(id)
することでオブジェクト指向のままではなくなります。誰でもこれで私を助けてもらえますか?