我试图从一个类中调用一个静态函数,但智能感知器却没有把它拿起来?
函数返回
public static ArrayList GetInfo(int infoID)
我正在从另一个班级的其他地方打电话,我正在尝试做类似
的事情var myitem = myClassName.GetInfo(x);
但是,当我输入myClassName时,知识分子并没有把它拿起来。
我怎么称呼它?如果可能的话
PS:我无法改变方法的签名:(。
答案 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);