¿Cuándo se convierte en una buena idea tener su clase separada en dos .cs y tenerla como una clase parcial?¿Bajo qué condiciones es bueno tener una "clase parcial"?
¿Hay algunos signos que muestran que es hora de ir a clase parcial?
Gracias!
¿Cuándo se convierte en una buena idea tener su clase separada en dos .cs y tenerla como una clase parcial?¿Bajo qué condiciones es bueno tener una "clase parcial"?
¿Hay algunos signos que muestran que es hora de ir a clase parcial?
Gracias!
Cuando tenga que autogenerar una parte de esas clases y escribir manualmente el resto del contenido de las clases.
Esto es para que usted puede poner el contenido generado por máquina en un archivo y código con codificación de la mano en otro archivo. La ventaja de hacerlo es que cuando tiene que regenerar el código fuente, su parte codificada a mano no se borrará.
Así es como MS genera contenido de clase por sus diseñadores GUI (pensar en los *.designer.cs
archivo) y le permite poner la carne de su lógica en otro archivo relacionado (*.cs
)
Si ha autogenerado código que desea extender, una clase parcial es una excelente manera de hacerlo.
Por ejemplo, se extiende a las clases de LINQ SQL que generan conseguir.
Digamos que tiene controladores de eventos y otros códigos GUI en un solo lugar, y quiere seguir otro código no relacionados con interfaz gráfica de usuario en un solo lugar. El patrón MVC que no es fácil en C#.
Al igual que los otros decían código generado automáticamente es una buena razón. También uso clases parciales a veces cuando quiero poner una clase anidada en su propio archivo.
public partial class MyClass
{
private class NestedClass
{
...
}
}
además hay este pequeño truco para anidar un archivo en el explorador de soluciones (para hacer como WinForm y anidar el archivo Form1.designer.cs).
<Compile Include="Foo.1.cs">
<DependentUpon>Foo.cs</DependentUpon>
</Compile>
Por qué no tienen código de interfaz gráfica de usuario en una clase * * y el código no GUI en otra clase * *? –
Usted está viviendo en un mundo ideal, la mayoría del código C# tiene lógica de negocios escrita dentro de los manejadores de eventos. Al menos tener clases parciales y extraer proporcionan algún tipo de mejor administración de código, también este tipo de refactorización se puede hacer fácilmente en VS –