C# 回調與 javascritp 回調 比較

C#:spa

using System;
using System.Collections.Generic;
using System.Text;

namespace Delegate {
     //定義委託,它定義了能夠表明的方法的類型
     public delegate void welcomeDelegate(string name);
        class Program {

           private static void EnglishGreeting(string name) {
               Console.WriteLine("Hello, " + name);
           }

           private static void ChineseGreeting(string name) {
               Console.WriteLine("你好, " + name);
           }

           //注意此方法,它接受一個welcomeDelegate類型的方法做爲參數
           private static void GreetPeople(string name, welcomeDelegate WelcomeMethod) {
               WelcomeMethod(name);
            }

           static void Main(string[] args) {
               GreetPeople("Jimm", EnglishWelcome);
               GreetPeople("吉姆", ChineseWelcome);
               Console.ReadKey();
           }
        }
    }

JS:代理

function ChinseWelcome(var name){ 
alert("你好"+name); 
} 

function EnglishWelcome(var name){ 
alert("hello"+name); 
} 

function WelcomePeople(var name,WelcomeMethod) 
{    
    WelcomeMethod(name); 
} 

function test() 
{ 
   WelcomePeople("Jimm",ChinseWelcome); 
   WelcomePeople("吉姆",EnglishWelcome);  
}

js 的回調與C#有殊途同歸之妙,C#的代理功能更強大,增長了鏈式結構和輪播功能。code

相關文章
相關標籤/搜索