考慮到類冗餘繼承?
public class Category { }
public class Product { }
public interface IService<T> { }
public class ServiceBase<T> : IService<T> { }
public class CategoryService : ServiceBase<Category> { }
public class ProductService : ServiceBase<Product>, IService<Product> { }
是ProductService多餘的遺產?只需ServiceBase<Product>
就夠了?
這樣
static void Main(string[] args) {
Console.WriteLine("CategoryService interfaces:");
foreach(var item in typeof(CategoryService).GetInterfaces()) {
Console.WriteLine(item.Name);
}
Console.WriteLine("ProductService interfaces:");
foreach(var item in typeof(ProductService).GetInterfaces()) {
Console.WriteLine(item.Name);
}
Console.ReadKey();
}
輸出
CategoryService interfaces:
IService`1
ProductService interfaces:
IService`1
智能感知訣竅是不是安全的,因爲你也可以不實現接口 – digEmAll 2011-03-12 14:36:09
@digEmAll定義相同的方法,但你不會得到一個錯誤/警告信息,告訴你,你有一個重複的方法,你應該使用'新'關鍵字,如果你打算重寫它,或類似的東西......你知道我在說什麼。在任何情況下,如果您確實想要檢查/測試以獲得問題的答案,請不要在派生類中使用另一種具有相同定義的方法。 :) – Kon 2011-03-12 14:38:33
@Marc,苦多? – Kon 2011-03-12 14:41:45