希望這可以做到!覆蓋界面的返回類型
我有一個基本接口
interface IEntity
{
IConfiguration Configuration {get; set;}
}
而且一個抽象類
abstract class Entity
{
abstract IConfiguration Configuration {get; set;}
}
現在我就爲大家介紹,從 「實體」
interface Client : Entity
{
}
客戶端繼承了一個 「客戶」有一個子類「配置」
interface IClientConfiguration : IConfiguration
{
}
所以最後,我想我的客戶端類,看起來像這樣
class Client : IClient
{
public IClientConfiguration Configuration {get; set;}
}
問題是,C#抱怨說我不回來了類客戶端的IConfiguration。我可以通過聲明新的公共IClientConfiguration來覆蓋這個...但在我走這條路線之前,我想知道是否有更好的方法來構造這個並保持最佳實踐。
感謝您的幫助! --Michael
爲什麼不只是返回'IConfiguration'?通常的界面設計意味着調用代碼不知道什麼是實現接口... – BradleyDotNET
你可以使'IEntity'模板,而不是返回'TConfigurationType配置{獲取;組; }'並把一個約束'在哪裏TConfigurationType:IConfiguration' – Rob