He hecho un decorador de propiedades personalizado:
export function Attr(label: MemberInfo) { return function (target: any, key: any) { if (!target.params) { target.params = []; } label.name = key; target.params.push(label); };}Así que ahora, puedo escribir, algo así:
@Attr{...} test:any;Y luego, se agrega información sobre la prueba de miembros a los parámetros de matriz. El problema es que tengo pocos niveles de herencia, y el objetivo, pasado al decorador de funciones, siempre es padre de una clase en particular, es decir, me gustaría tener una estructura de este tipo:
classA -> ClassB classA -> ClassCClassA es la clase base de classB y ClassC. ClassB y ClassC heredan parámetros de matriz de la clase base. La clase base A agrega algunos decoradores, y eso es lo que debería ser visible para ambas subclases. El problema es que cuando uso el decorador en ClassB y ClassC, todo se agrega a los parámetros de matriz de la clase base.
Según entiendo la herencia, ambos clasificados tienen otra "copia" de parámetros de matriz. ¿Qué puedo hacer para separar esas matrices de dos clases, pero seguir usando el núcleo de parámetros, declarado en la clase base? Por favor, ayúdame :)