日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

委托笔记

發布時間:2023/11/29 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 委托笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

剛寫了段程序,總算稍微理解了下委托,留下備忘。

定義:

1?public?delegate?string?DelegateTest(string?sss);

類中實例化委托:

?1?public?class?TestClass
?2?????{
?3?????????public?event?DelegateTest?_delegateTest;
?4?
?5?????????public?string?BeginDelegate()
?6?????????{
?7?????????????if?(_delegateTest?!=?null)
?8?????????????????return?_delegateTest("ssssssss");
?9?????????????else
10?????????????????return?"1331";
11?????????}
12?????}


調用的時候,直接調用TestClass中的BeginDelegate方法,

為實例化的委托添加方法

?1?public?class?ObjClass
?2?????{
?3?????????public?ObjClass(TestClass?tc)
?4?????????{
?5?????????????tc._delegateTest?+=?new?DelegateTest(typeBj);
?6?????????}
?7?
?8?????????public?string?typeBj(string?sssss)
?9?????????{
10?????????????Console.WriteLine(sssss);
11?
12?????????????return?sssss?+?"123132132";
13?????????}
14?????}
15?
16?????public?class?ObjClass1
17?????{
18?????????public?ObjClass1(TestClass?tc)
19?????????{
20?????????????tc._delegateTest?+=?new?DelegateTest(typeJJ);
21?????????}
22?
23?????????public?string?typeJJ(string?sssssss)
24?????????{
25?????????????Console.WriteLine(sssssss?+?"123123132");
26?
27?????????????return?sssssss?+?"abcdefghijklmn";
28?????????}
29?????}


主方法:

?1?public?class?MainClass
?2?????{
?3?????????public?static?void?Main()
?4?????????{
?5?????????????TestClass?tc?=?new?TestClass();
?6?
?7?????????????ObjClass?oc?=?new?ObjClass(tc);
?8?????????????ObjClass1?oc1?=?new?ObjClass1(tc);
?9?????????????string?s?=?tc.BeginDelegate();
10?
11?????????????Console.ReadKey();
12?????????}
13?????}

主方法里調用tc.BeginDelegate();

清除委托中的方法

1?tc._delegateTest?-=?new?DelegateTest(oc1.typeJJ);


?

?


public?delegate?string?DelegateTest(string?sss);

????
public?class?TestClass
????
{
????????
public?event?DelegateTest?_delegateTest;

????????
public?string?BeginDelegate()
????????
{
????????????
if?(_delegateTest?!=?null)
????????????????
return?_delegateTest("ssssssss");
????????????
else
????????????????
return?"1331";
????????}

????}



????
public?class?ObjClass
????
{
????????
public?ObjClass(TestClass?tc)
????????
{
????????????tc._delegateTest?
+=?new?DelegateTest(typeBj);
????????}


????????
public?string?typeBj(string?sssss)
????????
{
????????????Console.WriteLine(sssss);

????????????
return?sssss?+?"123132132";
????????}

????}


????
public?class?ObjClass1
????
{
????????
public?ObjClass1(TestClass?tc)
????????
{
????????????tc._delegateTest?
+=?new?DelegateTest(typeJJ);
????????}


????????
public?string?typeJJ(string?sssssss)
????????
{
????????????Console.WriteLine(sssssss?
+?"123123132");

????????????
return?sssssss?+?"abcdefghijklmn";
????????}

????}


????
public?class?MainClass
????
{
????????
public?static?void?Main()
????????
{
????????????TestClass?tc?
=?new?TestClass();

????????????ObjClass?oc?
=?new?ObjClass(tc);
????????????ObjClass1?oc1?
=?new?ObjClass1(tc);

????????????tc._delegateTest?
-=?new?DelegateTest(oc1.typeJJ);
????????????
string?s?=?tc.BeginDelegate();

????????????Console.ReadKey();
????????}

????}


?

?

轉載于:https://www.cnblogs.com/treeyh/archive/2007/08/09/849486.html

總結

以上是生活随笔為你收集整理的委托笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。