介面 委託 特性 反射 多播委託

2021-09-11 01:33:20 字數 2931 閱讀 2835

用於與服務有關,只有方法宣告,無方法體,介面不能放欄位。

預設訪問修飾符為public

繼承了介面,必須實現所有的介面成員

介面也可以多重介面

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _01介面

public int add(int a, int b)

public int cheng(int a, int b)

public void run()

public void talk()

}class people : icalc

public int cheng(int a, int b)

public void run()

public void talk()

}}

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _01介面

}

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _01介面

}

將方法作為方法的引數代入另乙個方法中,可以理解為一種資料型別,直接賦值給乙個方法。

兩種委託:

action:可有可無引數,無返回值;

function:必須有乙個引數,有返回值。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

using system.threading;

namespace _02委託

//static void setname(deltalk talk)

//static void numadd(deladd add)

}}

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _02委託

public int add(int a,int b)

}}

特性是用於在執行時傳遞程式中各種元素的行為資訊的宣告性的標籤。乙個宣告性標籤是通過放置在它所應用的元素前面的方括號(來描述的。

預定義特性:

attributeusage、conditional、obsolete(過時的)

conditional**:

#define debug

using system;

using system.diagnostics;

public class myclass

}class test

static void function2()

public static void main()

}

//obsolete(過時的)

using system;

public class myclass

static void newmethod()

public static void main()

}

反射指程式可以訪問、檢測和修改它本身狀態或行為的一種能力。

//例項類

class reflectionclass

set

}private string age;

/// /// 年齡

///

public string age

set

}private string ***;

/// /// 性別

///

public string ***

set

}public reflectionclass(string name, string age)

public reflectionclass(string ***)

public reflectionclass()

public void show()

}

每個委託都只包含乙個方法呼叫,呼叫委託的次數與呼叫方法的次數相同。如果呼叫多個方法,就需要多次顯示呼叫這個委託。當然委託也可以包含多個方法,這種委託稱為多播委託。

/// /// 多播委託

///

public class multidelegate

private static int show2(out int x)

private static int show3(out int x)

/// /// 呼叫多播委託

///

public void show()

}

委託二(多播委託)

委託最令人興奮的的特性之一是它支援多播委託 multicasting 簡單地說,多播委託是指允許建立方法的呼叫列表或者鍊錶的能力。當多播委託被呼叫時,列表中的方法均自動執行。這種鍊錶很容易建立 初始化乙個誒託,然後使用 或 運算子為鍊錶新增方法。在移除乙個方法時,使用 或 如果委託有返回值,則將列表...

委託及多播委託

c 中的委託類似於c c 中的指標,委託就是概括了方法的簽名和返回值型別 委託可以理解為定義的乙個新的類。所以在可以定義類的任何地方都可以定義委託,也可以在委託的定義上加訪問修飾符 public private 等 1 定義乙個委託 類似於方法的定義 該委託表示的方法有兩個long型別引數,返回值型...

C 委託,委託鏈,多播委託

委託 概念 委託是一種使用者自定義的型別.是一種類.可以把委託看成用來執行方法 函式的乙個東西 形式 delegate 函式返回型別 委託名稱 引數部分 例項化 委託型別 例項化名 new 委託型別 方法名稱 實現 usingsystem usingsystem.collections.generi...