first, create a person class. Assume that the change of the property name in the person class is detected through events.
Private StringName;Public StringName {Get{Return This. Name ;}Set{If(Value! =This. Name) {whenvaluechange ();}This. Name =Value ;}}
The whenvaluechange () method is executed when the attribute name changes;
/// /Define the delegate Public Delegate Void Delvaluechange ( Object Sender, eventargs E ); // Events associated with Delegation Public Event Delvaluechange onvaluechanged; Public Void Whenvaluechange (){ If (Onvaluechanged! = Null ) {Onvaluechanged ( This , Null );}}
Compile the test class:
Static Void Main ( String [] ARGs) {person P = New Person (); p. Name = " Zhang San " ; Console. writeline (P. Name); p. onvaluechanged + = New Delvaluechange (p_onvaluechanged); p. Name = " Test " ; Console. Readline ();} Static Void P_onvaluechanged ( Object Sender, eventargs e) {console. writeline ( " Attribute Value changed " );}
Run: