C # learning notes three (delegate, Event, make XML Document)

zhaozj2021-02-16  54

Delegates: // 1. nomal delegates = create before run, in main // declare class Employee {}; class Couple {} public delegate bool Reverse (object lhs, object rhs); SetOrder (Reverse the DelegatedFunction) {} // init Couple.Reverse employeeByID = new Couple.Reverse (Employee.SecondIDLower) Couple employees = new Couple (joe, fred); employees.SetOrder (employeeByID); // 2.static delegates = create it before run, static readonly // it will oppcupy memory class Employee {public static readonly Couple.Reverse EmployByID = new Couple.Reverse (Employee.SecondIDLower);} // call employees.SetOrder (Employee.EmployByID); // 3. delegates as propeties = create when use it // save memory class Employee {public static Couple.Reverse EmployeeByID {get {return new Couple.Reverse (Employee.SecondIDLower);}}} // 4. Muticast Delegates // must return void public class DelegateClass {public delegate void StringDelegate (string s PUBLIC VOID DISPLAY (StringDeleg) ate d, string s {d (s);}} // declare DelegateClass.StringDelegate Writer, Logger, Storer; // init Writer = new DelegateClass.StringDelegate (Employee.WriteString); Logger = new DelegateClass.StringDelegate (Employee.LogString ); Storer = new DelegateClass.StringDelegate (Employee.StoreString); ... public static void WriteString (string s) {} DeletegateClass.StringDelegate mutiCast; mutiCast = Writer Logger; mutiCase = Storer; mutiCast - = Logger; // Call Muticast Delegates thedelegateClass.display (MutiCast, Joe.toTOString);

event: // OfficeWatcher will subscrib Office's event public class OfficeWatcher () {// subscriber Office event public OfficeWatcher (Office) {office.OfficeChanged = new Office.OfficeChangedHandler (OnOfficeChanged);} // OnOfficeChanged will call when Office changed public void OnOfficeChanged (object sender, Office EventArgs e) {}} // It will needed by NotifyOfficeChanged, hold data need to let // subscribers know public class OfficeEventArgs: EventArgs {} public class Office {// declare delegate, event will use it public delegate void OfficeChangedHandler (object sender, OffEventArgs e); // declare event public event OfficeChangedHandler OfficeChanged; // This method will go through event OfficeChanged event and // find who has subscribed this event, and let them know protected virtual void NotifyOfficeChanged (OfficeEventArgs e) {} if (officechanged! = null) OfficeChanged (this, e);} ... public this [int index] {... officeEventArgs e New OfficeEventArgs (CTR); / / NOTIFY SUBSCRIBERS Office Has Changd NotifyOfficeChanged (E);}} XML Document: 1. Generate XML Comments In Code Using /// Comments 2. Project Properties -> Configuration Properties -> Generate -> Output -> XML Document File 3. Ctrl Shift B Build project, then generate an XML document 4. Tool -> Generate a comment Web page, generate an HTML file

转载请注明原文地址:https://www.9cbs.com/read-24453.html

New Post(0)