委托的说明和举例

本文详细解释了C#中委托的概念,作为面向对象的匿名引用,与C++函数指针的区别,以及如何在C#中使用委托封装实例方法和静态方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

委托是C#中的一个全新的概念.类似于C++中的函数指针.但是,不像C++中的函数指针,委托是完全面向对象的; 不像指向成员函数的指针,委托封装一个对象的实例方法或静态方法.
一个委托声明定义一个从System.Delegate派生的类.一个委托实例封装一个或多个方法,每一个被称为可调 用的实体.委托的最有用和感兴趣的是,它不知道或不关心,它所封装的方法的类.所以说,委托是"匿名"引用.
例子:

using System;
//委托声明 
delegate void MyDelegate();
//实现委托的类,一个静态方法,一个实例方法
public class MyClass 
{
public void InstanceMethod() 
{
Console.WriteLine("A message from the instance method."); 
}

static public void StaticMethod() 
{
Console.WriteLine("A message from the static method.");
}
}
//主要类,包括Main()函数
public class MainClass 
{
static public void Main() 
{
//一个委托类的实例
MyClass p = new MyClass();

//委托实例方法 
MyDelegate d = new MyDelegate(p.InstanceMethod);
d();

//委托静态方法
d = new MyDelegate(MyClass.StaticMethod);
d();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值