试图在类中调用静态函数

时间:2011-09-07 08:20:39

标签: c# asp.net

我试图从一个类中调用一个静态函数,但智能感知器却没有把它拿起来?

函数返回

 public static ArrayList GetInfo(int infoID)

我正在从另一个班级的其他地方打电话,我正在尝试做类似

的事情
var myitem = myClassName.GetInfo(x);

但是,当我输入myClassName时,知识分子并没有把它拿起来。

我怎么称呼它?如果可能的话

PS:我无法改变方法的签名:(。

3 个答案:

答案 0 :(得分:1)

静态函数无法使用变量名访问,但使用类名。所以基本上只调用GetInfo(int)(如果你想在GetInfo()所在的类中调用它)或YourClass.GetInfo(int)(在GetInfo()所在的类之外)。

如果您在课外调用,请确保在两者中使用相同的命名空间,或者使用适当的using语句。

答案 1 :(得分:1)

您是否在项目的子文件夹中创建了类?如果是这样,你需要这样称呼它:

subfolder.myclassname.getinfo()

答案 2 :(得分:1)

通常你也有namespace,而且静态方法必须在它自己的类中,例如:

namespace MyHelpers {

    public static class ArrayHelpers {

        public static ArrayList GetInfo(int infoID) { ... }
    }
}

现在,无论您在应用程序中的哪个位置,如果该库被引用到您当前的项目中,您只需将其称为

ArrayList myitem = MyHelpers.ArrayHelpers.GetInfo(x);

请记住,您需要提供完整路径以及您的命名空间是否为namespace Model.Helpers { ...

然后完整路径将是:

ArrayList myitem = Model.Helpers.ArrayHelpers.GetInfo(x);

您使用的是using声明

using Model.Helpers;

你可以使用

ArrayList myitem = ArrayHelpers.GetInfo(x);