c# .net access-modifiers partial-classes

c# - Clases parciales y problema de modificador de acceso.



.net access-modifiers (1)

Si no especifica el modificador de acceso en una parte de una clase parcial, utiliza el mismo modificador de acceso que la otra parte.

Parte relevante de la especificación C # 5: §10.2.2

Cuando una declaración de tipo parcial incluye una especificación de accesibilidad (los modificadores público, protegido, interno y privado) debe coincidir con todas las demás partes que incluyen una especificación de accesibilidad. Si ninguna parte de un tipo parcial incluye una especificación de accesibilidad, al tipo se le asigna la accesibilidad predeterminada apropiada (§3.5.1).

Así que la especificación dice que la accesibilidad debe estar de acuerdo con otras partes si se especifica ; en otras palabras, no tiene que ser especificado en cada parte. La redacción probablemente podría cambiarse para ser menos ambigua, aunque ...

Según la documentación de MSDN para clases parciales:

Todas las partes deben tener la misma accesibilidad, como pública , privada , etc.

pero si crea una aplicación WindowsForm, tendrá la clase de formulario predeterminada en dos clases parciales.

El código detrás:

public partial class Form1 : Form { ... }

y el diseñador:

partial class Form1 { ... }

Los modificadores de acceso son diferentes, pero se compilarán.

¿Me estoy perdiendo de algo?