IteradorExtensionArbolTArbol (Método ) |
CGS S.L. - Manual de referenciaEnumera un árbol de elementos relacionados de forma recursiva entre sí.
Espacio de nombres: CGSSL.Munigex.Lib.UtilesEnsamblado: DocumentosLib (en DocumentosLib.dll) Versión: 2.2.1.0 (2.2.1.0)
Sintaxis public static IEnumerable<ItemRecursivoInfo<T>> Arbol(
IEnumerable<T> secuencia,
Func<ItemRecursivoInfo<T>, bool> cond,
Func<ItemRecursivoInfo<T>, IEnumerable<T>> next
)
Parámetros
- secuencia
- Tipo: System.Collections.GenericIEnumerableT
Secuencia de elementos a enumerar. Cada uno de estos elementos contiene a su
vez otra secuencia de este mismo tipo. - cond
- Tipo: SystemFuncItemRecursivoInfoT, Boolean
Función de condición que indica si una cadena de representación debe
ser considerada. - next
- Tipo: SystemFuncItemRecursivoInfoT, IEnumerableT
Función de recolección que obtiene una nueva secuencia de
elementos que se agregarán de forma recursiva con un nivel superior .
Valor devuelto
Tipo:
IEnumerableItemRecursivoInfoTUna lista de todas las representaciones en orden de secuencia lineal que pueden
emitirse en un documento de Munigex.
Ejemplos
Queremos obtener la cadena de representaciones del presentador de una solicitud. Haremos que él
mismo esté incluido en esta cadena de representaciones. Todas las representaciones de nivel superior
a 4 no se muestran.
raiz = SolicitudDAL(1258).Solicitante.Raiz;
lista = raiz.Arbol(funcion(r) => { r.Nivel < 4 }, funcion(s) => { s.Objeto.TitularRepresentado.Representados });
tabla = lista.Seleccionar(funcion(x) => {x.Decoracion + x.Objeto.TitularRepresentado.Persona.Nombre } ).EnArray();
Estas fórmulas producen una tabla de cadenas final como se muestra a continuación:
tabla[0]= "GESTORIA GOENAGA";
tabla[1]= "├─GARCIA DOMINGUEZ ALEXANDER";
tabla[2]= "│ ├─SA DE INVERSION Y PROMOCION";
tabla[3]= "│ └─ALONSO,CALVO,GREGORIO";
tabla[4]= "│ └─2 ZK.KO GARAJEAREN JABEA";
tabla[5]= "└─ABELEDO GARCIA FERNANDO";
La concatenación de
x.Decoración ha permitido dibujar los símbolos de apariencia de árbol.
Por medio de iteradores se puede aprovechar este tipo de construcciones en todos los objetos con relaciones
jerárquicas o de grafo.
Vea también