C# 请问委托和类的区别是什么 有代码更好 谢谢
1个回答
展开全部
1.什么是委托
(1) 从数据结构来讲,委托是和类一样是一种用户自定义类型。
(2) 从设计模式来讲,委托(类)提供了方法(对象)的抽象。
简单地说:委托是方法的抽象,它存储的就是一系列具有相同签名和返回回类型的方法的地址。调用委托的时候,委托包含的所有方法将被执行。
2.如何定义委托类型
delegate void MyDel(int x);
委托类型声明:
(1) 以deleagate关键字开头。
(2)返回类型+委托类型名+参数列表。
3. 声明委托变量
MyDel del1,del2;
4. 初始化委托变量
del1 = new MyDel( myInstObj.MyM1 );
del2 = new MyDel( SClass.OtherM2 );
或
del1 = myInstObj.MyM1;
del2 = SClass.OtherM2;
5.委托调用
委托调用跟方法调用类似。委托调用后,调用列表的每个方法将会被执行。
在调用委托前,应判断委托是否为空。调用空委托会抛出异常。
if(null != del)
{
del();//委托调用
}
6.C#使用class关键字来定义类
class MyClass
{
// Class members.
}
这段代码定义了一个类MyClass。定义了一个类后,就可以在项目中能访问该定义的其他地方对该类进行实例化。在默认情况下,类声明为内部的,即只有当前项目中的代码才能访问它。
7.类访问修饰符
追问
那么应该说类是一种特殊的委托吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询