none
C# RRS feed

答案

全部回复

  • Hi, 如何:声明、实例化和使用委托(C# 编程指南) namespace Bookstore { using System.Collections; // Describes a book in the book list: public struct Book { public string Title; // Title of the book. public string Author; // Author of the book. public decimal Price; // Price of the book. public bool Paperback; // Is it paperback? public Book(string title, string author, decimal price, bool paperBack) { Title = title; Author = author; Price = price; Paperback = paperBack; } } // Declare a delegate type for processing a book: public delegate void ProcessBookDelegate(Book book); // Maintains a book database. public class BookDB { // List of all books in the database: ArrayList list = new ArrayList(); // Add a book to the database: public void AddBook(string title, string author, decimal price, bool paperBack) { list.Add(new Book(title, author, price, paperBack)); } // Call a passed-in delegate on each paperback book to process it: public void ProcessPaperbackBooks(ProcessBookDelegate processBook) { foreach (Book b in list) { if (b.Paperback) // Calling the delegate: processBook(b); } } } } 这里有完整的介绍。自己对着写个例子就可以了。简单理解就是更安全的指针。 http://msdn.microsoft.com/zh-cn/library/ms173176.aspx
    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    2010年11月1日 3:18
    版主
  •  这里有完整的介绍。自己对着写个例子就可以了。简单理解就是更安全的指针。 http://msdn.microsoft.com/zh-cn/library/ms173176.aspx

    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    2010年11月1日 3:21
    版主
  • 不得不说 楼主 发错区喽 吼吼
    stay hungry stay foolish
    2010年11月11日 2:22
  • 委托其实就是方法,不过这个方法很特殊,委托可以将方法做为参数传进去.

    给一个简单完整的例子:

    delegate void DelegateInterface(string str);

     public void DoInterface(string  str)
        {
            Response.Write(str);
        }

    DelegateInterface di = new DelegateInterface(DoInterface);
                di.Invoke("aaa");

     

    2011年2月16日 6:21