Descripción:
Hay dos clases, A y B, I A hereda la clase B y luego B es la clase madre
He puesto las propiedades TestAttribute en clase A y clase B respectivamente...
Luego, tomemos las características del objeto, y el código es el siguiente:
He comprobado que el número de resultados es 1, y el atributo es el atributo establecido por A, no el atributo conjunto por B, y mucho menos fusionado, ¿por qué es así???
[Ayuda("BaseClass")] publicclass Base{} publicclass Derive : Base{} Aquí hay cuatro combinaciones posibles:
[UsoDeatributo(ObjetivosDeAtributo.Clase, PermiteMúltiple = falso, Heredado = falso] [AtributoUso(AtributoObjetivos.Clase, PermitirMúltiple = verdadero, Heredado = falso] [UsoDeatributo(ObjetivosDeatributo.Clase, PermiteMúltiple = falso, Heredado = verdadero] [UsoAtributo(ObjetivosDeAtributo.Clase, PermitirMúltiple = verdadero, Heredado = verdadero ] El primer caso:
Si consultamos la clase Derive (más adelante veremos cómo consultar las propiedades de una clase en tiempo de ejecución), veremos que la función de Ayuda no existe porque la propiedad heredada está configurada como falsa.
Segundo caso:
Igual que en el primer caso, porque heredado también se pone en falso.
La tercera situación:
Para explicar el tercer y cuarto caso, primero añadamos algo de código a la clase derivada:
[Help("BaseClass")] publicclass Base{}[Help("DeriveClass")] publicclass Derive : Base{} Ahora consultemos la función de Ayuda, solo podemos obtener las propiedades de la clase derivada, porque heredado está configurado como verdadero, pero Permitir Múltiple está en falso. Por lo tanto, la característica Ayuda de la clase base se anula por la característica de ayuda de la clase derivada.
La cuarta situación:
Aquí veremos que la clase derivada tiene tanto la característica Ayuda de la clase base como su propia característica Ayuda, porque AllowMultiple está configurado como true.
|