【发布时间】:2015-08-06 10:07:18
【问题描述】:
我正在尝试为BeamsCollection 和ColumnsCollection 提取接口IObjectsCollection。但我被困住了。
Beam 和 Column 都派生自 SObject 类。
public class BeamsCollection : IObjectsCollection
{
public List<Beam> SObjects{ get; private set; }
public BeamsCollection ()
{
SObjects = new List<Beam>();
}
public void Add(Beam beam)
{
SObjects.Add(beam);
}
}
public class ColumnsCollection : IObjectsCollection
{
public List<Column> SObjects{ get; private set; }
public ColumnsCollection ()
{
SObjects= new List<Column>();
}
public void Add(Column column)
{
SObjects.Add(column);
}
}
public interface IObjectsCollection
{
List<SObject> SObjects{ get; }
void Add(SObject sobject);
}
【问题讨论】:
-
你想达到什么目的?
-
我正在尝试提取接口。更新了问题。
-
他们有不同的方法,那么你打算如何创建接口呢?您已经有一个版本,有什么问题,您希望如何完成?
-
@SamiKuhmonen 也许我在这里遗漏了一些东西,我想如果我可以定义一个界面,那将是一个很好的设计。
-
@Vahid 如果您不需要界面,它实际上不会为设计添加任何内容。根据接口的数量,它并没有变得更好。提到了通用接口,如果你真的需要一个接口,这可能是要走的路。
标签: c# inheritance interface refactoring