Как строится условия выборки для функции 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


Ответы (0 шт):