C# 委托的理解

1、什么是委托

委托可以理解為持有一個或多個方法的對象。如果執行委托的話,委托會

執行它所"持有"的方法。委托可以避免程序中大量使用if-else語句,使

程序擁有更好的擴展性。

2、委托的本質

委托和類一樣,是一種用戶自定義的類型,但類表示的是數據和方法的集合,

而委托則持有一個或多個方法,以及一系列預定義的操作。

3、如何聲明委托

delegate void MyDel(int x)

說明:delegate 作為委托關鍵字,沒有方法主體

4、什么是多播委托?

可以把多個方法賦值給同一個委托,或者將多個方法綁定到同一個委托,

就是多播委托。

5、一個簡單的委托demo:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace SimpleDelegateDemo

{

class Program

{

static void Main(string[] args)

{

Class1 c2 = new Class1();

c2.MethodUseDelegate(); ? ? //調用方法

}

}

class Class1

{

public ?delegate void SimpleDelegate(); ? ? ?//定義一個委托

SimpleDelegate delegateMethod = UseMethod; ? //將方法傳遞給定義的另一個方法(委托)

public void MethodUseDelegate()

{

Class1 c1 = new Class1();

c1.delegateMethod(); ? ? ? ? ? ? ? ? ? ?//將傳遞賦值的委托當做方法調用

//SimpleDelegate+=c1.UseMethod2 //綁定第二個方法

//SimpleDelegate-=c1.UseMethod2 //移除第二個方法

}

public static void UseMethod()

{

Console.WriteLine("一個簡單委托列子");

Console.ReadKey();

}

public static void UseMethod2()

{

Console.WriteLine("一個簡單委托列子2");

Console.ReadKey();

}

}

}

原文

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/272830.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272830.shtml
英文地址,請注明出處:http://en.pswp.cn/news/272830.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java基礎判斷題_java基礎知識周測試題帶答案

簡單題(每題5分,共計50分)簡述Java語言跨平臺的原理Java跨平臺的特性,也就是同一份字節碼文件可以在不同的系統上執行,由不同系統中的Java虛擬機負責翻譯成對應的機器指令。寫出以下名詞的概念和各自作用jre - Java運行時環境信息&#xff0c…

SQLSERVER 2008 R2版本密鑰(摘)

開發版32位:MC46H-JQR3C-2JRHY-XYRKY-QWPVM開發版64位:FTMGC-B2J97-PJ4QG-V84YB-MTXX8工組版:XQ4CB-VK9P3-4WYYH-4HQX3-K2R6QWEB版:FP4P7-YKG22-WGRVK-MKGMX-V9MTM數據中心版32位:PTTFM-X467G-P7RH2-3Q6CG-4DMYB數據中…

java conf_JAVA 解析、編輯nginx.conf

最近工程開發遇到一個需求:用Java去解析并編輯nginx.conf解析nginx.conf過程可以參考該項目的README.md下面舉個列子說明一下該如何編輯nginx.conf。定義一個pojoimportcom.alibaba.fastjson.JSONArray;importcom.google.common.base.Strings;importlombok.Data;Dat…

【原創】關于ASP.NET WebForm與ASP.NET MVC的比較

WebForm的理解1、 WebForm概念ASP.NETWebform提供了一個類似于Winform的事件響應GUI模型(event-drivenGUI),隱藏了HTTP、HTML、JavaScript等細節,將用戶界面構建成一個服務器端的樹結構控件(Control)&#…

對象的接口

Simula(模擬) 是一個很好的列子。正如這個名字鎖暗示的,它的作用是"模擬"像"銀行出納員"我們有一系列出納員,客戶,賬戶以及交易等 每類成員(元素)都有具有一些通用的特征,每個賬號都有一定的余額;每個出納都能接收客戶的存款,等等。…

java color類 藍色_java中Color類的簡單總結

標簽:java中Color類的簡單總結1.顏色的常識任何顏色都是由三原色組成(RGB),JAVA中支持224為彩色,即紅綠藍分量取值介于0-255之間(8位表示)2.Color類中的常量public final static Color black new Color(0,0,0);public final static Color bule new Col…

C#中幾種循環語法的比較

循環操作在程序開發當中使用非常的廣泛,當然循環也很容易成為整個程序運行的性能瓶頸,所以理解C#中幾種循環的用法,還是非常重要的。C#支持一下四種循環方式1、while循環2、do...while循環3、for 循環4、foreach循環前三種循環在C、Java中也是…

Eclipse基金會

昨天Eclipse基金會慶祝其成立十周年。2004年2月的新聞稿宣布該非盈利組織的正式成立,由包括開發者、消費者和插件提供商在內的各獨立團體組成的董事會,為Eclipse的長期發展負責。 基金會成立時,有19個項目和50個董事會成員,其開源…

.Net架構必備工具列表

原文N多年前微軟官網曾發了.Net下必備的十種工具,N多年過去了,世異時移,很多東西都已經變化了,那個列表也似乎陳舊了。而且,該文也只是對十種工具獨立的介紹,顯得有些羅列的感覺,是不是每個工具…

java scanner接收數組_java – 使用scanner將文件中的整數讀入數組

我正在為學校做一份復習工作.賦值是編寫一個類,它從標準輸入讀取一個包含幾個整數的文件,這些整數將被放入一個數組中.從這里開始,需要編寫方法來找出平均值,中位數,最大值,最小值和標準差.它讀起來像這樣:4556677889等等…所以,我假設我需要創建一個數組列表(因為長…

Asp.Net頁面傳值的方法簡單總結【原創】

1、QueryString當頁面上form按照get的方式向頁面發送請求數據的時候,web server會將請求數據放入一個QEURY_STRING的環境變量中,然后通過QeueryString方法從這個變量中獲取相應的參數。例如:發送參數頁面Test1.aspx 按鈕單擊代碼:…

關于archlinux下的ralink5370網卡

驅動此網卡要使用 rt2800usb,rt2800lib 這兩個模塊 順便說一下對模塊進行操作的命令: rmmod 模塊名 //為移除模塊 insmod 模塊所在路徑 //為添加模塊 查看網卡是否能被驅動,可以使用命令:ifconfig -a 轉載于:https://www.cnblogs.…

java xml 遞歸_Java遞歸遍歷XML所有元素

import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.DocumentException;import org.dom4j.Element;import java.util.*;/*** Created by IntelliJ IDEA.* User: leizhimin* Date: 2008-4-14 14:02:12* Note: Java遞歸遍歷XML所有元素*/public class …

【基礎】C#異常處理的總結

一、異常處理的理解?異常處理是指程序在運行過程中,發生錯誤會導致程序退出,這種錯誤,就叫做異常。因此處理這種錯誤,就稱為異常處理。二、異常處理如何操作?C# 異常處理時建立在四個關鍵詞之上的&#xff…

Java Web 路徑問題

可能在做文件上傳或者 圖片加載,資源加載 時候用到文件相對服務器地址 System.out.println(request.getRemoteUser()); //客戶端用戶System.out.println(request.getRemoteAddr()); //客戶端IPSystem.out.println(request.getRemoteHost()); //客戶端主機名Syst…

mysql 多字節編碼漏洞_phpmyadmin 4.8.1 遠程文件包含漏洞(CVE-2018-12613)

漏洞詳情范圍 phpMyAdmin 4.8.0和4.8.1原理 首先在index.php 50-63行代碼$target_blacklist array (import.php, export.php);// If we have a valid target, lets load that script insteadif (! empty($_REQUEST[target])&& is_string($_REQUEST[target])&&…

.Net開發的兩個小技巧

一、符號的妙用1、可以作為保留關鍵字的標識符C#規范當中,不允許使用保留關鍵字(class、bool等)當作普通的標識符來命名,這時候符號作用就體現出來了,可以通過符號前綴把這些保留關鍵字可以當作普通的字符使用。比如&a…

Codeforces Round #FF (Div. 1) A. DZY Loves Sequences

原題鏈接:http://codeforces.com/problemset/problem/446/A 題意:給一個長度為n的序列,最多可以修改一個位置的數,求最長連續上升子序列。 題解:當a[i1] > a[i-1]2的時候,可以通過改變a[i]的值來使前后兩…

25句張小嫻經典愛情語錄,句句穿心!

1、女人在床上流的眼淚,比在任何一個地方多。男人在床上說的謊話,也比在任何一個地方多。2、承諾本來就是男人與女人的一場角力,有時皆大歡喜,大部份的情況卻兩敗俱傷。3、愛情正是一個將一對陌生人變成情侶,又將一對情…

mysql 數據庫事務處理_Mysql事務處理問題 - mysql數據庫欄目 - 自學php

今天和同學討論起數據庫事務處理的問題,感覺討論中明白了一些,有些知識看過了,但是沒有實際使用還是不理解。事務處理就是將一系列操作當做一個原子操作,要么全部執行成功,如果執行失敗則保留執行期的狀態。通過提交和…