gpt4 book ai didi

c# - 如何将实现公共(public)接口(interface)的集合添加在一起

转载 作者:太空宇宙 更新时间:2023-11-03 20:30:41 25 4
gpt4 key购买 nike

我已经按如下方式设置了我的类(class)。因此,这两个集合都实现了一个通用接口(interface) - IChild。

有没有办法让父级的方法返回每个集合的公共(public)部分?

我在下面使用“+”,我知道这行不通,但它表明了我正在尝试做的事情。

public interface IChild
{
DateTime Date { get; }
Parent Parent { get; set; }
}

public class Boy : IChild
{
public virtual Parent Parent { get; set; }
public virtual DateTime GraduationDate { get; set; }
public virtual DateTime Date { get { return ProcedureDate; } }
}

public class Girl : IChild
{
public virtual Parent Parent { get; set; }
public virtual DateTime WeddingDate { get; set; }
public virtual DateTime Date { get { return ContactDate; } }
}


public Parent
{
protected IList<Boy> _boys = new List<Boy>();
protected IList<Girl> _girls = new List<Girl>();

public virtual IEnumerable<Boy> Boys
{
get { return _boys; }
}

public virtual IEnumerable<Girl> Girls
{
get { return _girls; }
}

public virtual IEnumerable<IChild> Children
{
get
{
return _boys + _girls;
}
}
}

谢谢

最佳答案

public virtual IEnumerable<IChild> Children
{
get
{
return _boys.Concat<IChild>(_girls);
}
}

关于c# - 如何将实现公共(public)接口(interface)的集合添加在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7740684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com