我有两个类 - MyBaseClass和BaseClassContainer - 声明如下:
public class MyBaseClass
{
private Guid id;
public Guid ID
{
if (id == Guid.Empty)
{
id = Guid.NewGuid();
}
return id;
}
//...Other Properties omitted for brevity
}
和
public class BaseClassContainer : INotifyPropertyChanged
{
private ObservableCollection<MyBaseClass> baseClasses;
public ObservableCollection<MyBaseClass> BaseClasses
{
//...Omitted for brevity...
}
}
然后在我的代码中,我有一个 BaseClassContainer ( BaseClassContainerCollection ) 类型的 ObservableCollection。我想弄清楚的是如何使用 LINQ 从 ObservableCollection 中选择一个 BaseClassContainer,其中一个 MyBaseClass.ID 与特定的 Guid 匹配。我使用 Single() 方法的原因是因为我知道它们都是独一无二的。
我尝试了以下方法,但它不起作用:
var result = BaseClassContainerCollection.Single(container => container.BaseClasses.Single(baseClass => baseClass.ID == specificGuid));
我收到一条错误消息: 无法将类型 'MyBaseClass' 隐式转换为 'bool'。我错过了什么?