试图在类中调用静态函数

本文关键字:调用 静态函数 | 更新日期: 2023-09-27 18:08:03

我试图从类中调用静态函数,但智能感知不拾取它?

函数返回

 public static ArrayList GetInfo(int infoID)

,我从另一个类的其他地方调用,我试图做一些像

var myitem = myClassName.GetInfo(x);

但是智能感知没有接收到它…当我输入myClassName

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

PS:我不能更改方法的签名:(.

试图在类中调用静态函数

通常你也有一个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);

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

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

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

subfolder.myclassname.getinfo()