Как строится условия выборки для функции Aggregate c 2 переменными
Пормогите разобратся с System.Linq.Aggregate
у меня есть следующий класс
public class MainClass
{
public ClassA someProp { get; set; }
public ClassA someProp2 { get; set; }
}
public class ClassA
{
public virtual Type Types => Type.None;
}
public class ClassB:ClassA
{
public override Type Types => Type.Default;
public string FieldName { get; set; }
}
public class ClassC:ClassA
{
public override Type Types => Type.Value;
public string FieldValue { get; set; }
}
Дальше я хочу получить FieldName если оно заполнено в ClassB или само значение из ClassC если оно тоже заполнено для someProp2 и someProp
я понимаю как достать 1 значение
var values = entities
.Select(mainClass => mainClass.SomeProp)
.OfType<ClassB>()
.Select(classB => classB.FieldName)
но как 2 значения получить не понимаю, т.к. тут будет типа 2 классов ClassB и ClassC
Наверное лучший способ будет через метод Aggregate.
Подскажите как сделать условия для выборки и сам метод Aggregate