namespace ConsoleApplication9
{
class Program
{
void a()
{
b();
}
void b()
{
}
static void Main(string[] args)
{
b();
}
}
}
为何 Main 函数不能直接调用函数b, 而在函数a中又可以调用, Main函数 和 a b 函数都在同一个类中, 应该不需要实例化对象也可以引用啊,
c# Main 函数问题
答案:4 悬赏:40 手机版
解决时间 2021-01-28 16:42
- 提问者网友:半生酒醒
- 2021-01-28 06:00
最佳答案
- 五星知识达人网友:第四晚心情
- 2021-01-28 07:16
Main是static修饰符,表示静态的。要调用a()或者b(),可以先在Main函数体里实例化class Program;
Program pr=new Program(); pr.a();pr.b();即可; 如果不实例化class Program,要直接调用class Program中的方法,那么该调用的方法也必须为static修饰; static void a(){};
static修饰过的变量或者方法,均可以通过class类名.变量或者方法调用,否则需要是实例化对应的class类,通过实例化对象来调用变量或者方法。
Program pr=new Program(); pr.a();pr.b();即可; 如果不实例化class Program,要直接调用class Program中的方法,那么该调用的方法也必须为static修饰; static void a(){};
static修饰过的变量或者方法,均可以通过class类名.变量或者方法调用,否则需要是实例化对应的class类,通过实例化对象来调用变量或者方法。
全部回答
- 1楼网友:动情书生
- 2021-01-28 10:25
Main是Program类的静态方法, 而b()是 Program这个类的实例方法, 静态方法中是不能调用实例方法的。
- 2楼网友:迟山
- 2021-01-28 09:33
static void b()
{
}
这样就可以了。静态函数Main可以直接调静态函数。
- 3楼网友:封刀令
- 2021-01-28 08:53
你要理解private这个关键字 是什么意思。。。他只能在本类中调用。。离开了他的类就调用不了。所有你调用abc这个方法的时候必须在与函数private void abc(string a)在同一个类中。。。。如果你想要在别的类中调用。那么你把private 换成public
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯