inherits - asp.net: clases parciales y herencia
inherits c# (1)
Tengo una clase dividida en dos archivos. Uno de estos se genera, el otro contiene el material no generado.
Quiero que mi clase herede de una clase base. ¿Debo tener ambos archivos heredar? O la clase heredará de la clase base si es una clase parcial
En foo.vb generado:
Partial Public Class Foo Inherits BaseClass
En foo.vb creado manualmente:
Partial Public Class Foo
No parece importar (de acuerdo con lo que veo en Reflector, de todos modos).
¿Alguien puede explicar cómo funciona esto? ¿El compilador simplemente combina los dos?
Solo uno de los dos debe heredar.
Las clases parciales son solo trucos de compilación. Tus dos archivos se unen nuevamente antes de compilar. Esto significa que solo se puede especificar una clase base, al igual que en las clases normales.
Puedes tener esto:
partial class one : base {}
partial class one {}
y esto:
partial class one : base {}
partial class one : base {}
pero no esto
partial class one : fu {}
partial class two : bar {}
porque el último se combina en:
class one : fu, bar {}
que es ilegal Sin embargo, puedes mezclar y combinar interfaces, al igual que en una clase normal.