2009-05-27 8 views

Respuesta

-1

He escuchado quejas sobre esto, no creo que sea una opción que pueda cambiarse.

-1

¿Quiere decir que la clase en sí no está disponible dentro de otras clases? ¿O quiere decir que todos los contenidos del archivo tienen acceso privado de forma predeterminada?

Si desea que la clase sea visible en otras clases, solo necesita asegurarse de que el espacio de nombres sea visible en la otra clase (con la palabra clave "using" en C#, o simplemente tenerlos en el mismo espacio de nombres) .

No sé de qué idioma está hablando, pero en C# todos los métodos, variables de miembros, propiedades, etc. se predeterminan a privados. Si desea que sean públicos, debe especificarlos individualmente para cada miembro. No creo que sea posible cambiar este comportamiento en C#.

1

Existen otros problemas con las plantillas de código predeterminadas, por ejemplo, no son compatibles con StyleCop de fábrica, ya que las líneas "usar" están fuera de la declaración del espacio de nombres.

Puede usar ReSharper para crear sus archivos de clase a partir de plantillas, lo que le permite poner el código que desee en la plantilla. Eso es lo que hago :)

11

Por defecto, una clase sin un especificador de acceso es interna y un miembro se establece por defecto en privado. Esto mantiene la visibilidad lo más restringida posible y por lo tanto aumenta la encapsulación.

Hacer pública una nueva clase sin siquiera pensar rompe la idea de encapsulación.

La plantilla de clase que VS utiliza para crear una nueva clase se pueden encontrar en este archivo zip (en caso de CSharp):

C: \ Archivos de programa \ Microsoft Visual Studio 8 \ Common7 \ IDE \ ItemTemplates \ CSharp \ 1033 \ Class.zip o C: \ archivos de programa \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Código \ 1033 al utilizar VS Orcas

Abrir el archivo zip, agregar la palabra clave pública, salvo y has terminado. Cada vez que agregue una clase, será público. Espero que esto ayude.

Source

+0

¡Doh! eres demasiado rápido! –

+0

De acuerdo, eso fue RÁPIDO !!!! Buena respuesta. – Skittles

+0

........ ;-) Gracias – Shoban

-1

No creo que se puede cambiar una opción en VS para que todas las clases creadas son públicos por defecto (pero voy a mirar en él.)

yo creo que, a menos que se tienes una necesidad muy específica para que todas tus clases sean declaradas públicas (y no puedo pensar en ninguna) que deberías dejar el valor predeterminado tal como está. Esto le permite tomar decisiones sobre qué clases son públicas y cuáles deben permanecer internas. En mi opinión, una buena opción de diseño dictaría que las clases se declaren 'internas' por defecto.

Cuestiones relacionadas