2011-08-04 11 views
0

私はこのようなすべてのプロパティを実装する必要がある20のプロパティを持つインターフェイスを持っています。このインターフェイスから継承するインターフェイスタイプまたは何かを返さなければなりません。他のタイプよりもタイプが異なります。ジェネリックインターフェイスとオブジェクトオリエンテーションストラクチャのベストプラクティス

以下の方法よりも良い方法がありますか?

public interface IRepository<Product, ProductCategory, Category, ProductImage> 
    where Product : IProduct 
    where ProductCategory : IProductCategory 
    where Category : ICategory 
    where ProductImage : IProductImage 
{ 
    IQueryable<Product> Products { get; set; } 
    IQueryable<ProductCategory> Products { get; set; } 
    IQueryable<Category> Products { get; set; } 
    IQueryable<ProductImage> Products { get; set; } 
} 

私は上記のコードをインターフェイスに4つのジェネリックタイプしか持たないように説明しました。

ありがとうございました。

答えて

3

通常、特定の具体的なタイプにコードを結びつけるのを避けるためにインタフェースを使用します。

は、なぜあなただ​​け書くことができます。

public interface IRepository 
{  
    IQueryable<IProduct> Products { get; set; } 
    IQueryable<IProductCategory> Products { get; set; } 
    IQueryable<ICategory> Products { get; set; } 
    IQueryable<IProductImage> Products { get; set; } 
} 
+0

私はこのインタフェースを実装した場合、すべてのプロパティは、私にとって主要な問題であることを実現し、正確なインターフェイスタイプではなく、何もする必要があるため。試してくれてありがとう。 –

関連する問題