I learned about delegation today. Below is the source code
Using system; using system. data; using system. text; Class programe {Public Delegate void mydelgatemath (); static void main (string [] Arg) {try {system. data. dataset DS = new system. data. dataset (); console. writeline ("Firat EXE"); console. writeline (Ds. tostring (); baseclass OBJ = new baseclass (); baseclass1 obj1 = new baseclass1 (); // delegate the definition of mydelgatemath MYD = new mydelgatemath (obj. test); // The delegate defines mydelgatemath myd1 = new mydelgatemath (obj1.test); // The delegate instantiate // MYD. // call the console in any other place. writeline ("single call delegate"); MYD (); myd1 (); // merge call console. writeline ("Call delegate chain"); mydelgatemath myd3 = (mydelgatemath) (delegate. combine (MYD, myd1); myd3 ();} catch (exception ERR) {console. writeline (err. message) ;}} sealed class baseclass {public void test () {string datastr = system. datetime. now. tostring ("yyyymmdd"); string fdatastr = "today is" + datastr. substring (0, 4) + "year" + datastr. substring (4, 2) + "month" + datastr. substring (6, 2) + "day"; console. writeline ("delegate call" + fdatastr) ;}} sealed class baseclass1 {public void test () {string datastr = system. datetime. now. tostring ("yyyymmdd"); string fdatastr = "today is" + datastr. substring (0, 4) + "year" + datastr. substring (4, 2) + "month" + datastr. substring (6, 2) + "day"; console. writeline ("delegate call 1" + fdatastr );}}}