using System;
using System.Collections.Generic;
using System.Text;
namespace delegent
{
class Program
{
public delegate void Greetdelegent(string name);
public static void EnglishGreet(string name)
{
Console.WriteLine("hellow," + name + "!");
}
public static void ChineseGreet(string name)
{
Console.WriteLine("heelow," + name + "!");
}
public static void GreetMaker(string name, Greetdelegent delegentmethod)
{
delegentmethod(name);
}
static void Main(string[] args)
{
GreetMaker("Lily", EnglishGreet);
GreetMaker("刘兵", ChineseGreet);
Console.ReadLine();
}
}
}
//////////////////////////////////////
以上是我写的一个关于委托的小程序,但是我开始没有把EnglishGreet和ChineseGreet以及GreetMaker三个方法声明为static,导致程序报错。我是这么认为的,既然是同一个类里的方法,就不需要实例化了(非statc方法血药实例化以后调用)。请问,我的想法错在哪里,然后为什么要把上面3个方法声明为static,谢谢!分值设高点,希望各位C#的大大们帮我解决下~~
3Q,你真是太热心了。
那我把main改成非static的后又如何?
追答main不可以改成非static的,这个是程序的入口点,你如果把static去掉那谁去实例化这个程序?
追问哦,晓得了!