国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

委托、Lambda表達式、事件系列01,委托是什么,委托的基本用法,委托的Method和Target屬性

2019-11-17 02:51:13
字體:
供稿:網(wǎng)友

委托、Lambda表達式、事件系列01,委托是什么,委托的基本用法,委托的Method和Target屬性

委托是一個類。

namespace Consoleapplication1
{
    internal delegate void MyDelegate(int val);
    class PRogram
    {
        static void Main(string[] args)
        {
        }
    }
}

使用Reflector查看委托的IL代碼:1○ 委托的確是一個類○ 委托的構(gòu)造函數(shù)接收方法和類實例○ 而且是多播委托,可以用+=為委托變量賦值○ 委托內(nèi)部使用Invoke方法觸發(fā)方法○ BeginInvoke和EndInvoke方法用于多線程場景

接下來體驗委托如何使用,以及委托的Method和Target屬性分別代表什么。

namespace ConsoleApplication1
{
    internal delegate void MyDelegate(int val);
    class Program
    {
        static void Main(string[] args)
        {
            //委托與靜態(tài)方法
            MyDelegate d = new MyDelegate(M1);
            d(10);
            Console.WriteLine(d.Method);
            if (d.Target == null)
            {
                Console.WriteLine("當前委托調(diào)用的是靜態(tài)方法,沒有類實例");
            }
            else
            {
                Console.WriteLine("當前委托調(diào)用的是實例方法,類實例為:" + d.Target);
            }
            Console.WriteLine("-------------------");
            
            //委托與實例方法
            Program p = new Program();
            d = p.M2;
            d.Invoke(10);
            Console.WriteLine(d.Method);
            if (d.Target == null)
            {
                Console.WriteLine("當前委托調(diào)用的是靜態(tài)方法,沒有類實例");
            }
            else

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 新津县| 礼泉县| 朝阳市| 六枝特区| 淮滨县| 蕲春县| 宝鸡市| 宽甸| 台中县| 临邑县| 盖州市| 彭州市| 姜堰市| 库车县| 朝阳区| 广州市| 霸州市| 泸定县| 上饶市| 樟树市| 托克托县| 灌南县| 宁波市| 景泰县| 易门县| 射阳县| 平泉县| 满城县| 罗甸县| 乌兰察布市| 锡林浩特市| 信宜市| 武邑县| 临朐县| 开鲁县| 屏南县| 宜兰市| 潮州市| 顺义区| 武陟县| 昌吉市|