/*
* action 委託 沒有返回值沒有引數
* */
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace a11_delegateinsystem
public void test1()
public void test2()
//呼叫委託
public void displayinfo()
static void main1(string args)
}}
/*
* 泛型action委託 有引數的委託
* 1.action* 2.泛型委託的引數可以定義引數的個數,最多16個
* *
*/using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace a11_delegateinsystem
public void test1(string str)
public void test2(string str)
public void displayinfo()
static void main1(string args)
}}
/*
* func委託
* 1.必須有乙個返回值
* 2.尖括號中最後乙個引數為返回型別
* 3.如果尖括號中只有乙個型別,那麼該型別為返回值型別
*/using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace a11_delegateinsystem
public string invkemethod()
public int invokemethodwithparam(string str)
public void displayinfo()
static void main1(string args)
}}
/*
* predicate委託
* 只能接受乙個引數
* 必須返回bool型別
* 等價於func* **/
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace a11_delegateinsystem
private bool predicateinvokemethod(string str)
", str);
return true;
}private void displayinfo()
static void main1(string args)
}}
/*
* 委託的優點
* 減少呼叫方和被呼叫方之間的偶合性
* 案例:取1-1000之間的質數
* **/
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace a11_delegateinsystem
}return boolresult;
}public void displayallnumber()}}
public void displayallnumber(funcfunhandler)}}
public void displayinfo()
static void main(string args)
}}
C 事件 對委託的封裝
c 中,正如屬性是對成員變數的封裝,事件是對委託的封裝。完整的事件流程 class program class myeventargs eventargs public string name delegate void myeventhandler eventsender sender,myeve...
C 11執行緒封裝
下面是我對執行緒的封裝.子執行緒可以設定執行函式,可以阻塞子執行緒,可以喚醒子執行緒,可以設定子執行緒while迴圈函式的休眠時間。這例子可以用來學習c 11多執行緒,也可以直接拿來使用。ifndef smart thread h define smart thread h include incl...
c 11委託 事件 反射
using system using system.collections.generic using system.linq using system.text namespace 11 using system using system.collections.generic using sys...