Imagine que tiene una lista llamada List<Foo>
.¿Cómo pedir una lista por tipo?
Foo
es una clase abstracta, por lo que este puede ser FooA
, FooB
, FooC
o FooD
. Y me gustaría tener una extensión para List<T>
, donde puedes pedir estos elementos por tipo pero en secuencia.
Por ejemplo, si tengo 9 elementos.
FooA, FooA, FooB, FooD, FooC, FooC, FooA, FooB, FooA
Orden por tipo secuencialmente será.
FooA, FooB, FooC, FooD, FooA, FooB, FooC, FooA, FooA
Estoy intentando que la función puede ser pedido en el orden que especifique, en este caso, es decir, que era:
new[] { typeof(FooA), typeof(FooB), typeof(FooC), typeof(FooD) }
yo estaba tratando de crear esta extensión, pero Don obtener algo ¿Puedes ayudar un poco? Supongo que puedo lograrlo con LINQ.
¿Qué sucede si no hay ningún FooC en la lista o si hay FooA, FooB, FooC, FooC, FooC, FooD, cómo se ordena? te recomendaría que adaptases la selección para tus propósitos. – DarthVader