これは基本的に、フロントエンドオブジェクトのリストを取得し、各フロントエンドオブジェクトを呼び出し、データオブジェクトのリストを返します。ラッパーオブジェクトから取得したデータオブジェクトのリストを返す汎用メソッドを書く必要があります。
私はこのメソッドをシングルトンクラスの中に記述しました。
public IEnumerable<T> GetDataItemsFromFrontend<T>(IEnumerable<T> frontendItems)
{
List<T> dataItems = new List<T>();
foreach(T frontendItem in frontendItems)
{
dataItems.Add(T.GetDataItem());
}
return dataItems;
}
当然、T.GetUser()は存在しません。
私はEntity-Model Frameworkによって生成されたUserというエンティティオブジェクトを持っています。 Userに機能を追加するために、ClassFrontendというラッパーオブジェクトを作成しました。ここで、classは問題のエンティティタイトル(UserFrontend、RoleFrontendなど)に置き換えられました。
私は、フロントエンドクラスのData内でエンティティオブジェクトを呼び出しました。
ここでは、フロントエンドアイテムのリストを提供するGenericメソッドを使用したいと思います。エンティティオブジェクトのリストを戻します。もちろん、リストはすべて同じタイプです。例すべてのUserFrontend 、またはすべてのRoleFrontendなど
ありがとうございました。
あなたはメソッド 'GetDataItemを()'を作成できませんか?また、入力上の 'T 'は入力上にある' T'と同じではないのでしょうか? – svick
皆さんありがとう!それは基本的に :)解決Iた2つの署名方式とのインターフェース: 'code'publicインタフェースIBaseFactory {IEnumerableを GetDataItemsFromFrontend(IEnumerableをフロントエンド)。 IEnumerable GetFrontendItemsFromDataItems(IEnumerable dataItems); } 'code' 各フロントエンドクラスに実装されています。 –
Franco