请教各位高人,请问下述语句有什麼错误,为什麼显示错误,非常感谢你的帮助!

来源:百度知道 编辑:UC知道 时间:2024/09/23 19:34:42
public delegate void Mydelegate(string s);
class class1
{public Mydelegate Mylable;
Mylable=new Mydelegate(SayHello);}
public void SayHello(string s){}
非常感谢你的回答,但这不是我想要的回答,我提问的问题中class1是新增的一个类,它将在入口函数中被实例话,而委托在这个类构造函数重调用。至於你说的我已经知道了,还是感谢你的回答,谢谢!

至于有什么错误,你可以运行一下看看。

我不知道你想做什么,你这个程序最基本的结构都不对。
1. C# 程序是从 Main() 方法开始执行的(这一点与 Java 相同),同时 Main() 方法必须是类或者结构的静态方法,并且其返回类型为 int 或 void。
2. 如果是想演示委托的用法,哪么要明白委托的主要用途是什么。
委托主要用在吧方法当做参数传递给其他方法时。

给你改了一下,你运行一下试试。

using System;
using System.Collections.Generic;
using System.Text;

public delegate void MyDelegate(string str);

class MyDelegateTest{
public static void SayHello(string str)
{
Console.WriteLine("Hello, " + str);
}

public static void SayBye(string str)
{
Console.WriteLine("Bye, " + str);
}

// Mylabel 用来接收一个 MyDelegate 类型的方法作为参数
public static void Mylabel(MyDelegate paraDelegate)
{
paraDelegate("World!");
}

static void Main(string[] args)
{
// 这里就演示了委托的作用,可以动态的改变你所需要动态调用的方法
Mylabel(SayHello);
Mylabel(SayBye);
// 按下的键