我有几个实现某个接口的类,而不是修改它,我想用另一个接口扩展它。
当我考虑设计扩展界面时,我不确定如何包含对原始界面的引用的最佳做法是什么?
Id引用或将其作为扩展接口的属性包含在内?
我已经创建了一个示例,以显示需求:
public interface IMovie
{
string UniqueId { get; set; }
string Name { get; set; }
string Ratnig { get; set; }
}
//Option #1
public interface IMovieWithSubTitles
{
string UniqueId { get; set; }
string SubTitles { get; set; }
}
//Option #2
public interface IMovieWithSubTitles
{
IMovie Movie { get; set; }
string SubTitles { get; set; }
}
答案 0 :(得分:1)
我会使用新界面继承IMovie
,例如
public interface IMovieWithSubTitles : IMovie
{
string SubTitles { get; set; }
}