Cuando creo un nuevo archivo de clase, Visual Studio no lo hace público por defecto. ¿Puedo cambiar esto?¿Por qué mis clases son privadas de forma predeterminada en Visual Studio?
Respuesta
He escuchado quejas sobre esto, no creo que sea una opción que pueda cambiarse.
¿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#.
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 :)
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.
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.
- 1. ¿Por qué mis fuentes son borrosas en Visual Studio 2010?
- 2. ¿Por qué duplican mis puntos de interrupción en Visual Studio?
- 3. ¿Por qué Visual Studio no crea una clase pública de forma predeterminada?
- 4. ¿Por qué las aplicaciones WinForms STATread de forma predeterminada?
- 5. ASP MVC: ¿Por qué mis clases internas no son visibles desde mis Vistas?
- 6. ¿Por qué mis rieles son tan lentos?
- 7. ¿Qué son las API privadas
- 8. Por qué mis importaciones no son reconocidas
- 9. clases privadas en Objective C
- 10. Por qué los destructores no son virtuales de forma predeterminada [C++]
- 11. ¿Por qué mis pasos de Custom Build no se ejecutan en Visual Studio 2010?
- 12. ¿Qué son las pruebas omitidas en Visual Studio?
- 13. ¿Por qué mis objetivos en Productos son de color rojo?
- 14. Clases privadas anidadas
- 15. Clases privadas y uml
- 16. ¿Qué son estos archivos .pch y .ncb en Visual Studio?
- 17. ¿Por qué todos mis resultados de prueba de Visual Studio "No se ejecuta"?
- 18. Activar el manejo de excepciones en visual studio 2010 de forma predeterminada para todos los proyectos
- 19. ¿Para qué son todos estos archivos de Visual Studio 2005?
- 20. ¿Por qué Mercurial cree que mis archivos SQL son binarios?
- 21. ¿Por qué Visual Studio no resuelve mis nombres de clase CSS?
- 22. clases públicas Java con clases privadas dependientes
- 23. ¿Por qué Visual Studio se cuelga constantemente?
- 24. ¿Cómo puedo abrir un archivo resx en el editor XML de Visual Studio de forma predeterminada?
- 25. ¿Por qué std :: stack usa std :: deque de forma predeterminada?
- 26. VS.NET se establece de manera predeterminada en la clase privada
- 27. Cómo configurar vista XAML predeterminada en Visual Studio 2008
- 28. visual studio express: herramienta de diagrama de clases gratis
- 29. ¿Por qué todos mis niveles de log4net son falsos?
- 30. ¿Por qué las referencias circulares en Visual Studio son una mala práctica?
Esto parece ser un duplicado exacto de http://stackoverflow.com/questions/39903/vs-net-defaults-to-private-class y esa pregunta también tiene una respuesta aceptada. –