public interface IComponent
{
Guid Key { get; set; }
}
public interface ICanHaveChildElement
{
List<IComponent> ChildElement {get;set;}
}
public class BaseComponent : IComponent
{
public Guid Key { get; set; }
}
public class TextBox : BaseComponent, IComponent
{
}
public class Radiobutton : BaseComponent, IComponent
{
}
public class Table : BaseComponent, IComponent, ICanHaveChildElement
{
public List<IComponent> ChildElement { get; set; }
}
public class TestService
{
public void Search(Guid key)
{
List<IComponent> components = new List<IComponent>();
var element = components.FirstOrDefault(p => p.Key == key);
}
}
你好,
当我在上面的现有代码块中没有子组件的组件(文本框、收音机等)中搜索时,我可以找到该组件。但是,我找不到带有子组件的组件,例如表格。用if检查可以找到,但是由于不知道它会有多少个子组件,所以只能用一个子元素操作成功。
我的问题是我想搜索整个列表的“关键”参数。即使具有此键的元素是子元素,我也想找到。