本页开篇语:
法律提示:
作为一个准就业人士、创业经营者建议多学习有关劳动就业
的法律法规,最好能熟知我国《中华人民共和国劳动合同法》、
《工资支付暂行规定》、《中华人民共和国社会保险法》
《职工带薪年休假条例》等的相关规定,多看一些有关法律行家
所讲解的法律案例。也为自己在上网购物、日常购物中多了解
一些消费维权的法律知识、案例讲解,婚姻家庭法的法律知识、案例讲解。
中国普法之路任重而道远,本网站愿意为这一重任承担一份力量!
诉讼维权须知:《诉讼费用交纳办法》
提醒即将找工作或正在找工作的求职者:在你求职时要熟悉一下我国的
《禁止传销条例》
如遇到条例中的情况及时与工商行政管理部门、公安机关110联系举报。
社会救助:
最低生活保障、临时救助(兜底作用) 特困人员供养(年满60周岁没有收入来源、
无法定赡养人、法定赡养人无赡养能力的。)
法律根据:《社会救助暂行办法》、《广东省社会救助条例》、《广东省社会救济条例》
详情可到当地民政局救助处咨询低保、特困人员供养事宜。以当地民政局答复为准,千万
不可道听途说听取似懂非懂的人的说法。
温馨提示:以上救助并非所有情况都可以申请救助,具体执行情况需要到当地的相关行
政主管部门咨询为准。
如:广东清远市:清城区民政局咨询电话: 3828120 洲心街道民政办咨询电话:3503089
就业指引:
就业服务中心
劳动争议仲裁
自考须知:根据教育法的修改,不要办假证,也不要找替考。
不然你一辈子都得背着可能被撤销毕业证的压力,得不偿失。
热点文章推荐:
首页 > 知识大全 > 学习看点:多播委托是委托的一种特殊应用,多播委托允许将多个委托对象组成一个委托链
自考信息:
学习看点:多播委托是委托的一种特殊应用,多播委托允许将多个委托对象组成一个委托链
|
发布日期(Date):
[2021-07-09 T 13:55:52]
|
作者:周礼
作品名称:C#和.NET3.0第一步
网站知识内容来源全部名单: 查看
发表说明:
作者介绍:周礼。中山大学计算机应用专业硕士;拥有高级程序员证书;文学作品多次获奖。具有丰富的软件设计开发经验。曾任香港理工大学深圳研究院多媒体创新中心项目负责人(系统分析师)、台湾亚米多游戏科技有限公司开发工程师(高级软件工程师)、晨星资讯(深圳)有限公司项目负责人(系统工程师、分析师)、北大青鸟深圳鲲鹏培训中心.NET高级讲师。先后负责及参与的项目包括:语音卡驱动、游戏引擎、流媒体传输播放项目、远程教育平台、分布式金融数据采集等系统。目前从事IT教育培训工作,主要负责Java及.NET平台的课程培训。
委托的秘密
我们一直在说委托是和类一样的类型,拿不出确凿的证据你可能很难相信。委托实际上就是一个自定义的类,我们在定义了一个委托后,在编译时系统会为我们创建一个委托类,这个类的大部分构建工作由系统自动完成。要查看委托类型的秘密,我们需要以前用过的方法,就是用反编译工具查看委托到底被编译成什么。我们用ILDasm.exe来查看上面MySayDeleage委托生成的中间代码。从源代码中我们只看到Me和Program两个类,那么剩下的那个MySayDeleage类是哪里来的呢?就是我们上面定义的委托类型MySayDeleage编译后的结果。仔细观察你会发现,委托类实际上就是一个继承自MulticastDelegate基类的一个自定义类。如此一来,那么委托定义的对象实际上也和我们以前用类定义的对象本质上是一样的。至于委托如何代表其方法的执行,那是太底层的东西,我们不需要了解。其他的我们也不再深入分析了,知道委托实际上是一个类就容易理解委托定义前面的访问修饰符是什么作用了(参考类的),就明白为什么委托类型可以定义对象了。
多播委托——引发连锁反应
多播委托是委托的一种特殊应用,多播委托允许将多个委托对象组成一个委托链。关于“链”的叫法在这里也形象地表示出委托链的作用。我们经常说某个事件造成了什么连锁反应,比如说泰国的金融事件造成了整个东南亚连锁反应,从而导致东南亚各国的经济危机。委托链的作用也是这样,委托链可以承载很多方法,一旦触发该链,那么将调用链中的所有方法。创建一个多播委托和创建普通委托没什么两样,我们可以使用“+”号运算符把委托对象加入委托从而形成委托链,利用“-”运算符从委托链移除一个委托。下面我们来看一下上一节那个MySayDeleage的多播版本
代码实现:
using System;
using System.Collections.Generic;
using System.Text;
namespace MyDelegate
{
public delegate void MySayDeleage();
class Me
{
public void SayHello() { Console.WriteLine("你好,很高兴认识你"); }
public void SayLoveYou() { Console.WriteLine("我爱你"); }
public void SayBye() { Console.WriteLine("再见"); }
}
class Program
{
static void Main(string [] args)
{
Me me=new Me();
MySayDeleage mySay=new MySayDeleage(me.SayHello);
mySay+=new MySayDeleage(me.SayLoveYou);
mySay+=new MySayDeleage(me.SayBye);
mySay();
}
}
}
上面代码的运行结果和上一次一样。我们定义了一个名称为mySay的委托对象,然后我们使用三个加等于号将三个方法的委托对象分别加入到mySay委托当中,从而形成委托链。当我们使用mySay()激发该委托时,将会依次调用这三个方法。这里要注意,新的委托使用语法(C#2.0以后)可以让我们在给委托对象赋值时省略掉new关键字,这样写的话更能展现委托的本质,如上面给委托赋值的代码可以直接写成:
MySayDeleage mySay=new me.SayHello;
mySay+=me.SayLoveYou;
mySay+=me.SayBye;
不管怎么说,多播委托实际上只是委托的一种特殊用法,在使用时要注意一些问题:
(1)多播委托的委托方法最好是没有返回值的方法,也就是void方法,如果委托了带有返回值的方法也无法获得级联的结果,比如我们这样使用上面那个算术委托:
CalculateCall cal=new CalculateCall(Add);
cal+=new CalculateCall(Substract);
int result=cal(4,6);
Console.WriteLine("结果是{0}",result);
结果是“-2”,虽然调用了两个方法,但是只有最后一个方法返回了结果。
(2)多播委托只支持+、-、+=、-+四种运算。我们来看一下下面的一个例子:
delegate void Del(string s);
class TestClass
{
static void Hello(string s)
{
System.Console.WriteLine(" Hello,{0}!",s);
}
static void Goodbye(string s)
{
System.Console.WriteLine(" Goodbye,{0}!",s);
}
static void Main()
{
Del a,b,c,d;
a=Hello;
b=Goodbye;
//建立组合委托c、是a、b两个委托组成的委托链
c=a+b;
//从委托链中去除a委托
d=c-a;
System.Console.WriteLine("调用委托a:");
a("A");
System.Console.WriteLine("调用委托b:");
b("B");
System.Console.WriteLine("调用委托c:");
c("C");
System.Console.WriteLine("调用委托d:");
d("D");
}
}
结果是:
调用委托a:
Hello,A!
调用委托b:
Goodbye,B!
调用委托c:
Hello,C!
Goodbye,C!
调用委托 d:
Goodbye,D!
上面所有的例子都只是为了演示委托的用法,实际应用中的委托技术用法远远不只如此。利用委托不仅可以完成传统的函数回调机制,而且可以实现很多其他的功能
|
|
|
本网教育发展计划:
第一:通过为每一个网民提供更多的文字或图片教育资源服务
第二,挑选更多的优秀学者、公司
职员、学校老师、教授等制作网络辅导视频、提供在线答疑服务。
说明:只有通过互联网才可以无论在公司、在家里都能自由、随意的去学习和
搜索自己需要学习的知识。在互联网上的文字、图片资源不需要
像图书馆一样要借阅,你想看和学习多长时间都是无限制的,并且哪一个知识点不会
可以通过互联网像百度一样搜索出来,
本网有什么不足的地方可以发邮件提出你宝贵的意见和
建议1056633246@qq.com,本网会集思广益,好意见和建议本网是会吸纳的。
自考过程中猜您的疑问:
问:自考学历为什么不承认?自考本科找工作被拒?
后悔读了自考?自考本科有用吗?自考就是骗局?自考学历入职被拒绝?
自考本科单位承认吗?
答:自考是高等教育组成的一部分,在《高等教育自学考试暂行条例》
和《中华人民共和国高等教育法》、广东省的《广东省自学考试实施细则》、
广东省人民政府办公厅《关于鼓励自学成才的若干规定》
均有明确规定,自考是国家承认学历,法律法规
认可有效的学历证书即具有法律效力的。纳入法律范围就受到法律的保护。至于有的
用人企业不认可是他们缺乏法律知识或法律意识,在中国社会轻视法律存在的人还是有的
不应该太看重那些不承认自考学历的现象。必要时我们在就职时遇到违反法律规定时、自己合法权益受到侵害时可以
积极利用法律的武器保护自己的合法权益。不承认自考学历是
对自考存在一种偏见、人才观念的一种态度和违反国家法律法规的一种违法行为。我们
不应该为了有的用人企业不认可就不选择自考,毕竟自考是成才的一种机会,它可以让您
改变命运的机会,如考取国家公务员、进入国家事业单位、国有企业等为您创造机会、
创造条件的。参加自考是获得文凭、获得知识的机会,就业、创业重要的是个人
能力得到提升、个人的综合能力(学科专业能力、分析能力等)的培养。
问: 自考流程是什么?全国自考报名系统入口?自考怎么报名?
答:自考的流程是在指定时间到自考办现场报名或自考办官方网站、自考办委托的考试报名网站(详情咨询自考办,自考办联系电话可“114”查询)网上报名课程 → 购买
教材 → 个人自主学习或参加社会助学机构(全日制、业余助学)、网络助学学习 →
在考试当天前查询考场等考试信息 → 参加考试 → 所有专业课程考试合格 → 实践
考核课程通过 → 论文通过 → 在指定的时间内在每年6月、12月申请毕业 →
最后获取高等教育自学考试专、本科毕业证书和学位证书。
问:自考本科含金量高吗?自考本科需要什么条件?
答:含金量一说没有绝对的说法,招聘看用人企业的用人观念、
人才观念决定的。我们在选择自考专业时更应该从自己的兴趣、特长、优势
去考虑,选择一个适合自己的专业学习、考试。选择了合适自己的专业去
深入钻研才有可能学有所成。自考不受年龄、学历层次限制的,自考本科
只要是中国公民均可以报名,但在申请自考本科毕业证书及学位证书时需要提供
国家承认的专科毕业证书(专科毕业证可以是成人高等教育的、电大、
自考的、网络教育的)。
问:自考的真实通过率是多少?自学考试有哪些专业?自学考试难吗?自学考试要多久?
答:自考的真实通过率是无法预知和控制的,参加考试人数(有些情况下
出现考生缺考的情况也不是没有的)、应考人员自身
知识强弱是参差不齐的,因此很难控制通过率的。自学考试的专业是根据
各省、自治区、直辖市的社会需求开设的,详细专业情况可以百度搜索你
所在的省、自治区、直辖市的自考办官方网站查询。自学考试难不难或考多久,要
看考生的知识基础、个人接受能力、在课程学习上付出的程度上、应考心理
等有关。
问:自考辅导机构哪家好?自考辅导班需要报吗?
自考辅导机构押题准吗?
答:自考辅导网校哪个好?作为评价一家网校的优劣要综合考虑,
师资、办学时长、网站规模、办学资质等来考虑。自考是在接受
大学教育,大学知识都有一定难度,建议有条件的考生报自考辅导
班在老师的讲授和指导下学习会更轻松、更快掌握考核知识点,
一本自考教材可能会因受到编者的语言表达能力等可能对部分人
的理解存在欠缺,如果不报辅导班在学习自考教材的时候遇到不明白
的知识点在借助其他参考书时也不一定能够解决,而通过辅导班学习不但可以
能够在老师的讲授下学习,遇到不明白的地方可以提供答疑以帮助您
解决问题。从而让您少消耗更多的时间在困惑问题上面。自考辅导机构押题
不一定准确,虽然自考辅导机构的老师有着多年的辅导经验,但自学考试
是教考分离的,教的老师就不得参与考试命题,参与命题的人员就不得
参与辅导工作,并且命题人员签有保密协议不能泄漏考题,泄漏了考题的
要依法追究“泄漏国家机密罪”论处的。所以不要抱着辅导老师押题来
通过考试的心理。