Sé que permite a visual studio separar el código de la interfaz de usuario de WinForms de los eventos de la interfaz de usuario, etc. ¿Pero hay algún uso práctico para ello?Uso práctico de la palabra clave parcial en C#
Respuesta
La palabra clave parcial se utiliza normalmente en las utilidades de generación de código para permitir a los desarrolladores agregar funcionalidad adicional al código generado sin temor a que ese código se borre si el código se genera nuevamente.
Con C# 3, la palabra clave parcial se puede aplicar a los métodos para permitir que los usuarios del código generado rellenen los espacios en blanco que dejó el generador. El diseñador de Linq To Sql, por ejemplo, proporciona métodos parciales que le permiten agregar lógica a las clases a las que llamará el marco si se implementan. El beneficio aquí es que el compilador de C# eliminará completamente los métodos parciales no implementados, por lo que no hay un rendimiento que llegue a en total por no implementarlos.
Las clases parciales también se pueden utilizar para organizar clases muy grandes en archivos de códigos separados, aunque este tipo de uso suele ser una señal de que sus clases son demasiado grandes y están asumiendo demasiadas responsabilidades.
Lo estoy usando para particionar clases auxiliares donde algunos métodos necesitan muchos códigos. Esta es una forma bastante sencilla de conservar la legibilidad ya que cada archivo solo trata con una parte de la funcionalidad de la clase.
El diseñador de LINQ to SQL lo usa ampliamente para dividir comportamientos personalizados (métodos parciales) fuera de la clase de asignación.
En resumen, su objetivo principal es para generadores de código.
Espero que esto ayude.
En VB puede usarlo para separar el código "normal" del código que necesita encuadernación tardía mediante "Option Strict Off".
En C# solo lo uso para clases inusualmente grandes.
El mejor uso para la palabra clave parcial que puedo pensar es en clases anidadas. Sin la palabra clave parcial, todas las clases anidadas deben ir en el mismo archivo de código que la clase contenedora.
Utilizo clases y métodos parciales todo el tiempo con Linq2Sql. De lo contrario, nunca lo he usado para nada más que las clases UI/Code-behind.
Una de las mejores cosas que me gustan de las clases parciales en linq2sql es que puede hacer que la clase parcial herede una interfaz y mapeará la interfaz a la clase generada. Esto es excelente si tiene más de un proveedor de datos y aún desea usar las mismas interfaces para todas las clases de acceso a datos.
Un uso que he encontrado es para el código que puede que no desee que exista en el código de producción, como el seguimiento o el código de registro de desarrollo. Podrías colocar esto en la clase parcial y luego, cuando realices una compilación de producción, simplemente compilas sin esos parciales incluidos y el compilador eliminará automáticamente cualquier llamada a los parciales que fueron excluidos.
Los métodos parciales probablemente funcionen incluso mejor para ese caso de uso particular. – JasonTrue
Otra buena idea - +1 –
@JasonTrue - Sí, los métodos parciales también funcionarían muy bien, solo use uno u otro dependiendo de las necesidades de la situación. –
WPF usa clases parciales extensamente. El XAML genera una clase parcial que puede agregar.
Uso las clases parciales para reducir el dolor de fusión con el control de versiones cuando sé que tendríamos varios desarrolladores trabajando en una clase. Por ejemplo, a menudo tenemos nuestra clase DAL dividida en varios archivos de clases parciales. Si no los coloca en archivos diferentes, es fácil obtener conflictos de fusión que tardan un poco en arreglarse cuando se registran en la versión ctl.
Cuando el desarrollo se vuelve menos caótico a medida que la clase se acerca a completarse, nos deshacemos de los archivos parciales. Simplemente lo usamos para hacer que los problemas de VC/Mulit-developer sean más fáciles
- 1. Uso práctico de la palabra clave `stackalloc`
- 2. C# ref uso de la palabra clave
- 3. Ilustrando el uso de la palabra clave volátil en C#
- 4. Uso de la palabra clave auto en C STL ++
- 5. uso de la palabra clave "using" en C#
- 6. ¿Cómo uso programáticamente la palabra clave "usar" en C#?
- 7. USO palabra clave en Mysql
- 8. Uso de la palabra clave de bloqueo C#
- 9. C# Patrones de uso para la palabra clave "es"
- 10. C# utilizando la palabra clave, el uso adecuado de él
- 11. el uso de la palabra clave privada
- 12. instancia del uso de la palabra clave
- 13. El uso de IsAssignableFrom y "es" palabra clave en C#
- 14. C: Comportamiento de la palabra clave `const`
- 15. palabra clave "agradable" en C++?
- 16. Palabra clave protegida C#
- 17. palabra clave 'fuera' en C++
- 18. palabra clave estática en C#
- 19. Registro palabra clave en C++
- 20. ¿Cómo uso una palabra clave C# como nombre de propiedad?
- 21. C# - Palabra clave de uso + virtual anulación contra nuevo
- 22. C# palabra clave virtual
- 23. ¿Cuál es el uso de la palabra clave volátil?
- 24. Uso de la palabra clave "global" en Python
- 25. Uso de la palabra clave "this" en java
- 26. El uso de esta palabra clave Java
- 27. as3: uso de esta palabra clave
- 28. WPF Tunneling, uso práctico?
- 29. Uso práctico para Dispatcher.DisableProcessing?
- 30. ¿Equivalente a la palabra clave "using" de C# en powershell?
¡Oo, excelente idea! Nunca se me ocurrió hacer esto. –