如何在类中调用静态成员(这是普通类)

时间:2018-03-16 15:09:49

标签: c#

在采访中我遇到了这个问题,如何在这里调用静态成员:

 public  class PermenatEmployee
 {
      public static string/void sayGoodBye()
      {
          return "GoodBye";
      }
 }

 static void Main(string[] args)
 {
     var gsgsg = PermenatEmployee.sayGoodBye;
 }

我可以选择在方法中使用stringvoid

4 个答案:

答案 0 :(得分:2)

删除字符串/ void。

代码将如下所示:

public class PermenatEmployee
{
    public static string sayGoodBye()
    {
        return "GoodBye";
    }

    private static void Main(string[] args)
    {
        var gsgsg = PermenatEmployee.sayGoodBye();
    }
}

如果你真的想要返回一个字符串和一个void你可以在方法上使用返回类型的void然后使用像这样的字符串输出参数:

 public class PermenatEmployee
{
    public static void SayGoodBye(out string action)
    {
        action = "GoodBye";

    }

    private static void Main(string[] args)
    {
        PermenatEmployee.SayGoodBye(out var action);

        Console.WriteLine(action);
    }
}

答案 1 :(得分:1)

我对这里的语法非常困惑:string/void,如果它表明它可能是,那么要进行静态函数调用,你需要用{调用函数{1}},即:

()

话虽如此,您无法将var gsgsg = PermenatEmployee.sayGoodBye() 的返回值分配给void

您也无法在类范围之外使用方法,因此您的示例将无法编译。

答案 2 :(得分:1)

在你的班级PermenatEmployee:

public class PermenatEmployee
{
    public static string sayGoodBye()
    {
        return "GoodBye";
    }
} 

在您的课程班中:

static void Main(string[] args)
{
    Console.WriteLine(PermenatEmployee.sayGoodBye());
}

答案 3 :(得分:0)

你可以用它的名字来称呼它,

 public  class PermenatEmployee
 {
  public static string/void sayGoodBye()
  {
      return "GoodBye";
  }
 }
 static void Main(string[] args)
 {
 var gsgsg = sayGoodBye(); // your answer

}