C# 委托、匿名方法与事件详解
1. 委托基础
委托是一种类型,它可以引用一个或多个方法。在容器排序的场景中,容器类Container定义了一个委托CompareItemsCallback,该委托接收两个待比较的对象作为参数,并返回一个整数来指定这两个对象的顺序。Employee类中声明了两个静态函数CompareName和CompareId,它们与CompareItemsCallback委托匹配,分别描述了按名称和按 ID 排序的规则。
using System; public class Container { public delegate int CompareItemsCallback(object obj1, object obj2); public void Sort(CompareItemsCallback compare) { int x = 0; int y = 1; object item1 = arr[x]; object item2 = arr[y]; int order = compare(item1, item2); } object[] arr = new object[1]; } class Employee { public Employee(string name, int