c# - una - ¿Es posible hacer clases parciales estáticas?
propiedad estatica c# (5)
C # no admite la herencia de una clase estática.
Debes elegir entre tus clases como estáticas:
public static class Facade
{
// A few general methods that other partial facades will use
}
public static partial class MachineFacade
{
// Methods that are specifically for Machine Queries in our Database
}
... o si desea que MachineFacade se derive de Facade:
public class Facade
{
// A few general methods that other partial facades will use
}
public partial class MachineFacade : Facade
{
// Methods that are specifically for Machine Queries in our Database
}
Quiero tomar una clase que tengo y dividirla en varias clases para que sea más fácil de mantener y leer. Pero esta clase que intento dividir usando partial
es una clase estática.
Vi en un ejemplo en Stackoverflow que esto era posible, pero cuando lo hago, sigue diciéndome que no puedo derivar de una clase estática ya que las clases estáticas deben derivar de un objeto.
Así que tengo esta configuración:
public static class Facade
{
// A few general methods that other partial facades will use
}
public static partial class MachineFacade : Facade
{
// Methods that are specifically for Machine Queries in our Database
}
¿Alguna sugerencia? Quiero que la clase de Facade
sea estática para que no tenga que inicializarla antes de usarla.
El problema no es que la clase sea una clase partial
. El problema es que intenta derivar una clase static
de otra. No tiene sentido derivar una clase static
porque no se puede usar el polimorfismo y otras razones para la herencia.
Si desea definir una clase partial
, cree la clase con el mismo nombre y modificador de acceso.
Mantenga los nombres y modificadores consistentes en todos los archivos:
public static partial class Facade
{
// A few general methods that other partial facades will use
}
public static partial class Facade
{
// Methods that are specifically for Machine Queries in our Database
}
No puedes heredar una clase estática .
Las clases estáticas están selladas y, por lo tanto, no se pueden heredar. No pueden heredar de ninguna clase excepto Object.
no necesita anular nada, solo déles el mismo nombre:
public static partial class Facade
{
// this is the 1st part/file
}
public static partial class Facade
{
// this is the 2nd part/file
}