希望这可以做到!覆盖界面的返回类型
我有一个基本接口
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