最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#委托delegate實例解析

 更新時間:2014年08月07日 15:27:48   投稿:shichen2014  
這篇文章主要介紹了C#委托delegate實例解析,對C#的委托做了較為深入的剖析,很適合初學者學習,需要的朋友可以參考下

所謂c#的委托就是說把函數(shù)當參數(shù)來傳遞。

這個在js完全就用不著搞什么委托東西,直接轉就是了。而對于C#來說則不是這樣!

一個函數(shù),如果它的參數(shù)是函數(shù),那么是這樣子寫的 :

public void method(Action<string, Int32> voidMethod, Func<string, Int32> returnMethod)
Action<string, Int32> voidMethod

意思是說這個將被傳進來的函數(shù)是一個沒有return的函數(shù),就是public void, 它需要一個str參數(shù)
(這里提一下,js中每個函數(shù)都是return的即使你沒有寫,它也會return undefiend)

Func<string, Int32> returnMethod

意思是說這個函數(shù)是一個有return的函數(shù),最后一個參數(shù)Int32代表了它的return是一個Int32 , 就是 public Int32啦, 那么除了最后一個參數(shù)其余的都是這個函數(shù)所需要的參數(shù)了

那么如何調用呢? 

method(delegate(string a, string b, Int32 c)
{
  //do something 
}, delegate(string a, string b)
{
  //do something 
  return 5;
});

這里使用的是匿名函數(shù)delegate(){},這個比較習慣,因為js大多數(shù)會用匿名函數(shù)的。

當然,如果你硬是喜歡用老式的寫法,也可以寫比較傳統(tǒng)的:

public void method(tuoguan voidMethod, tuoguan2 returnMethod) //這里不可以在寫 Action or Func了
{
  Int32 i = returnMethod("b");
  voidMethod("b");
}
public delegate void tuoguan(string name);
public delegate Int32 tuoguan2(string name);
public Int32 returnMethod(string name)
{
  return 5;
}

  tuoguan xx = delegate(string name) 
  {
 //do somthing 
  };
  tuoguan2 yy = returnMethod; //這里可以指向某個方法,不是一定要寫 delegate
  method(xx, yy);

委托是很好用的,比如我對進去的匿名函數(shù)也可以引用到作用域上的變量,這個和js是一樣的!
把它當js來寫,我覺得這樣非常好!

相關文章

  • WPF基于物理像素繪制圖形

    WPF基于物理像素繪制圖形

    這篇文章介紹了WPF基于物理像素繪制圖形的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C#飛機打字游戲的代碼示例(winform版)

    C#飛機打字游戲的代碼示例(winform版)

    這篇文章主要介紹了C#飛機打字游戲的代碼示例(winform版),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • C#反射實現(xiàn)插件式開發(fā)的過程詳解

    C#反射實現(xiàn)插件式開發(fā)的過程詳解

    插件式架構,一種全新的、開放性的、高擴展性的架構體系,插件式架構設計好處很多,把擴展功能從框架中剝離出來,降低了框架的復雜度,讓框架更容易實現(xiàn),這篇文章主要介紹了C#反射實現(xiàn)插件式開發(fā),需要的朋友可以參考下
    2023-09-09
  • C# 如何實現(xiàn)一個帶通知的List<T>

    C# 如何實現(xiàn)一個帶通知的List<T>

    這篇文章主要介紹了C# 如何實現(xiàn)一個帶通知的List<T>,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-02-02
  • C#中數(shù)組段用法實例分析

    C#中數(shù)組段用法實例分析

    這篇文章主要介紹了C#中數(shù)組段用法,實例分析了C#數(shù)組段的定義、功能及使用方法,需要的朋友可以參考下
    2015-05-05
  • C#微信開發(fā)(服務器配置)

    C#微信開發(fā)(服務器配置)

    這篇文章主要介紹了C#微信開發(fā)中有關服務器配置的相關內容,感興趣的小伙伴們可以參考一下
    2015-11-11
  • Unity UGUI的Outline描邊組件的介紹使用示例

    Unity UGUI的Outline描邊組件的介紹使用示例

    這篇文章主要介紹了Unity UGUI的Outline描邊組件的介紹使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • .Net WInform開發(fā)筆記(五)關于事件Event

    .Net WInform開發(fā)筆記(五)關于事件Event

    我前面幾篇博客中提到過.net中的事件與Windows事件的區(qū)別,本文討論的是前者,也就是我們代碼中經(jīng)常用到的Event,感興趣的朋友可以了解下
    2013-01-01
  • C#實現(xiàn)文件分割和合并的示例詳解

    C#實現(xiàn)文件分割和合并的示例詳解

    這篇文章主要為大家詳細介紹了如何利用C#實現(xiàn)文件分割和合并的功能,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C#實現(xiàn)關閉其他程序窗口或進程代碼分享

    C#實現(xiàn)關閉其他程序窗口或進程代碼分享

    這篇文章主要介紹了C#實現(xiàn)關閉其他程序窗口或進程代碼分享,本文給出了兩種方法,并分別給出示例代碼,需要的朋友可以參考下
    2015-06-06

最新評論

郧西县| 江源县| 全椒县| 曲水县| 潍坊市| 定陶县| 富顺县| 祁东县| 肇庆市| 博兴县| 盘锦市| 论坛| 白银市| 广宗县| 乌兰县| 灵台县| 钟山县| 东海县| 静乐县| 嘉义市| 雷山县| 阜阳市| 治多县| 衡东县| 巍山| 浦县| 北流市| 宜黄县| 浦东新区| 石楼县| 南川市| 锦州市| 营山县| 齐河县| 墨竹工卡县| 广南县| 阿拉善右旗| 伊春市| 江川县| 太谷县| 阜南县|