C#类默认方法

C#类默认方法,c#,class,function,methods,default,C#,Class,Function,Methods,Default,有没有一种方法可以将默认方法分配给这样的类: public class EscMenu { public static void EscMenu() { //do something } public static void SomeOtherMethod() { //do something else } } 所以当我调用EscMenu.SomeOtherMethod()时在同一解决方案中的另一个类中,它确实“执行其他

有没有一种方法可以将默认方法分配给这样的类:

public class EscMenu
{
    public static void EscMenu()
    {
        //do something
    }

   public static void SomeOtherMethod()
   {
       //do something else
   }
}
所以当我调用
EscMenu.SomeOtherMethod()时
在同一解决方案中的另一个类中,它确实“执行其他操作”,但我无法调用
EscMenu()

我该怎么做

谢谢

编辑:

好吧,我会试着用一种更好的方式来解释:

当我从另一个(外部)类调用它时,我只想让类
escmunu
做一些事情,就像这样:
escmunu()。当然,我可以在
EscMenu
中轻松创建一个方法
default()
,并调用
EscMenu.default()外部。但是我真的想调用
escmunu()

如果这是不可能的,或者我继续无法解释我自己,那么请不要介意;-)


再次感谢

不,您不能为方法指定与其包含类型相同的名称,而且您确实不想将类型名称与方法名称混淆。为什么要引入歧义

如果您能给出一些示例,说明您希望以其他方式编写代码,我们可能会为您提供更多帮助。(例如,扩展方法可能会有所帮助。)

在C#中,“默认”方法的概念是一种荒谬,但从我从您的需求中收集到的信息来看,您不希望能够在外部(即在类外部)调用
escmunu
,因此,使用
私有
访问修饰符:

private static void EscMenu(){
    //do something
}

但是您需要为成员指定一个不同的名称。

我不知道默认方法是什么意思。但为了防止其他类调用类菜单中的方法,可以将方法设置为私有:

public class EscMenu
{
    private static void EscMenu()
    {
       //do something
    }

    public static void SomeOtherMethod()
    {
        //do something else
    }
}
你有什么(如果你清理了语法)是一个

  • 静态构造函数不接受访问修饰符或具有参数
  • 在创建第一个实例或引用任何静态成员之前,会自动调用静态构造函数来初始化类
  • 不能直接调用静态构造函数。
  • 用户无法控制在程序中何时执行静态构造函数

很难理解你想要实现什么你所说的“我不能打电话”是什么意思;“”编辑了我的问题。希望这次我能更好地解释我自己^^这不是一个静态构造函数,因为在这种情况下,返回类型甚至
void
都是非法的-更合适的说法是,他们拥有的是一个方法,但名称是非法的。真的。它们所拥有的可能被解释为试图成为静态构造函数的不当行为,或者试图成为成员函数的不当行为。我已经在原始答案中澄清了。@janw:好的,基本上不,你不能这样做。坦白地说,我很高兴——因为看起来您的代码在做一件事(试图在当前范围内找到一个名为
EscMenu
的方法),而实际上它在做另一件事。