马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在CSDN里搜索一下“初学”两字,竟有三百余篇帖子(也许更多)。有些帖子说,有了asp的基础,只要15天就能很熟悉了,我甚感自己的愚钝。更多帖子是向大家请教初学者适合看书。两个多月的时间(当然平常杂事比较多。<p>托付是C#中十分主要的一个观点,并在C#中失掉了丰厚的使用,如事务,线程等。那甚么是托付呢?详细来讲,托付是一种援用办法的范例。一旦为托付分派了办法,托付将与该办法具有完整不异的举动。托付办法的利用能够像其他任何办法一样,具有参数和前往值。
托付具有以下特性:
托付相似于C++函数指针,但它是范例平安的。
托付同意将办法作为参数举行传送。
托付可用于界说回调办法。
托付能够链接在一同;比方,能够对一个事务挪用多个办法。
办法不必要与托付署名准确婚配。有关更多信息,请拜见协变和逆变。
C#2.0版引进了匿名办法的观点,此类办法同意将代码块作为参数传送,以取代独自界说的办法。
在C#中利用托付分为三步:
1.界说托付:
<olclass="dp-c">//声明托付publicdelegatevoidMyDel();
2.实例化托付:
<olclass="dp-c">TestDelt=newTestDel();Console.WriteLine("-----以下是复杂利用托付演示--------");//t.MyMethod();///实例化托付,用一个办法来举行实例化///该办法署名要与托付署名分歧MyDeldel=newMyDel(t.MyMethod);
3.挪用托付:
<olclass="dp-c">///挪用托付del();
好了,实在托付的变更很庞大,但基础城市切合这么三个步骤,说过了,这些,再来看一下完全的代码
<divclass="code"><olclass="dp-c">namespaceDelegateDemo{//声明托付publicdelegatevoidMyDel();//声明带参的托付publicdelegatevoidMyDel2(intnum1,intnum2);//声明带有返值的托付publicdelegatestringMyDel3(strings);//声明托付用于演示匿名办法publicdelegatestringProcessString(strings);classProgram{staticvoidMain(string[]args){#region托付演示/*TestDelt=newTestDel();#region复杂实例化托付与挪用托付Console.WriteLine("-----以下是复杂利用托付演示--------");//t.MyMethod();///实例化托付,用一个办法来举行实例化///该办法署名要与托付署名分歧MyDeldel=newMyDel(t.MyMethod);///挪用托付del();//C#2.0后能够这类体例实例化托付MyDeldel4=t.MyMethod;del4();//用静态办法举行实例化del4=TestDel.MyStaticMethod;del4();//以下代码效果不异//MyDel2del2=newMyDel2(t.MyMethod);//del2(10,20);<spanclass="comment">MyDel2 竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。 |