Mientras los descriptores de acceso se establecen apropiadamente, métodos estáticos son más o menos compartidos de todos modos (de hecho, usan la palabra clave compartido en VB); no importa en qué clase se encuentren porque están desconectados de cualquier objeto instanciado.
Para llamar a un método estático, se prefacio con el nombre de la clase en la que se declara:
MyClass.MyUtilityMethod();
El descriptor de acceso debe haber public
o puede ser internal
si la persona que llama y el método están en la mismo proyecto/montaje.
Si su objetivo es simplemente para crear un único punto de acceso para los métodos estáticos, se crea una clase que reenvía las llamadas cuando sea apropiado:
public static class SharedMethods
{
public static void SharedMethod1()
{
ClassA.SharedMethod1();
}
public static string GetName()
{
return NameProvider.GetName();
}
public static int GetCount()
{
return CountClass.GetCount();
}
}
esta manera se puede acceder a través de todo SharedMethods.GetName()
etc.
¿Cómo está el código que ha estructurado? ¿Estás tratando de llamar a los métodos estáticos de una sola clase o estás tratando de hacer algo diferente? Si está intentando agrupar un montón de métodos estáticos, las interfaces no lo ayudarán. –
Como los métodos son estáticos (asumiendo público) puede acceder a ellos desde cualquier clase en cualquier momento, no es necesario "heredar" un objeto para poder utilizar sus métodos estáticos. –
@zach Creo que la mayoría de estos caen en la categoría de métodos estáticos de utilidad que serán utilizados por varios códigos diferentes detrás de las clases. Estoy usando los métodos comunes de la misma manera que uso la clase de Matemáticas. – locoboy