我有两个接口,它们都具有相同的确切属性。
以防你想知道为什么我有两个这样的界面,这是一个很长的故事,但是是的,它必须是这样的。
如果条件是返回列表的另一种方式,则基于条件返回列表。
通过查看我的接口和下面的代码,我需要能够使用一个对象,换句话说,如果返回哪个接口无关紧要,我需要能够使用一个对象而不是循环一个 List 接口和设置对方的属性。
我需要这样的东西
compParts = genCompParts;
--- 代码使用
public class ComponentParts : IComponentParts
{
public ComponentParts() { }
public ComponentParts(Guid userID, int compID, bool isGeneric)
{
List<IComponentPart> compParts = null;
List<IComponentPart_Max> genCompParts = null;
if (isGeneric)
{
genCompParts = GenericCatalogBL.GenericCatalogManagerBL.GetComponentPartsMax(compID);
}
else
{
compParts = CatalogManagerDL.GetComponentParts(userID, compID);
}
var verParts = compParts.Where(x => x.CompTypeName.ToLower().Contains("vertical"));
if (verParts.Count() > 0) { this.Vertical = verParts.ToList<IComponentPart>(); }
var horParts = compParts.Where(x => x.CompTypeName.ToLower().Contains("horizontal"));
if (horParts.Count() > 0) { this.Horizontal = horParts.ToList<IComponentPart>(); }
//... redundant code omitted
---界面快照---
我最终创建了一个类库调用接口,我只是在我的解决方案中的不同程序之间共享这些接口。
这是我首先应该做的,只是懒惰。