我可以在另一个方法中调用静态方法吗?

时间:2009-09-15 16:41:27

标签: c# class static methods

基本问题:如何在另一个方法中调用静态方法。请帮忙!!

public static class Class1
{
  public static string RenderCompareStatus()
  {
      bool isFound = Class1.Found(id);
  }

  private static bool Found(string id)
  {

  }

//错误消息:不包含Found

的定义

4 个答案:

答案 0 :(得分:5)

我将您的示例扩展为一个完整的示例:

using System;

public static class Class1
{
    public static void Main()
    {
        Console.WriteLine(RenderCompareStatus());
    }

    public static string RenderCompareStatus()
    {
        String id = "test";
        bool isFound = Found(id);
        return "Test: " + isFound;
    }

    private static bool Found(string id)
    {
        return false;
    }
}

结果:

Test: False

编辑:如果以上示例与您的代码类似,但您的代码无效,请edit your question,提供更多详细信息,例如您获得的准确错误以及生成的代码的更完整示例错误。

编辑:已将public static bool Found(string id)更改为private static bool Found(string id)重新编译,但仍然有效。

答案 1 :(得分:3)

您使用班级名称 例如Class1.Found

答案 2 :(得分:2)

代码看起来没问题 - 如果这是您的实际代码,而不仅仅是一个最小的示例,您需要在id范围内指定RenderCompareStatus(或其他一些变量)作为参数传递到Found

答案 3 :(得分:0)

你的两个方法都缺少一个return语句。如果没有为非void方法指定返回值,则会出现编译错误。

可以使用Class1.Found(id)调用静态方法。但是如果你从同一个类中调用它,你可以省略“Class1”。在通话之前。