c# static 函数问题, 不是类的static?

main里面一句是这样
string sLine = Console.ReadLine();

IsTerminateString(sLine);

这个是main 外面的IsTerminateString: 

private bool IsTerminateString(string source)

{
...

}
这样的话会报错:
Error 1 An object reference is required for the non-static field, method, or property 'ConsoleApplication1.Program.IsTerminateString(string)

把IsTerminateString 申明为static就正确了, 为什么?
call by reference的参数必须的static的函数吗?
是不是因为main 是static的, 所以所有在main中调用的函数都得是static的?

小怪兽爱吃肉
浏览 609回答 3
3回答

泛舟湖上清波郎朗

static为静态变量,或者方法申请时使用,在同一个main或者class下可以不声明静态量,如果在其他地方调用就需要这么声明,具体为什么还真不知道,只知道要这么用!

RISEBY

那是因为你的Main函数是static的,static的函数无法直接调用实例函数(需要先实例化)实例方法可以调用静态方法,但是静态方法不能直接调用实例方法针对你这个问题,要么IsTerminateString改成static的要么实例化这个类:new xxxx().IsTerminateString
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android