13.07.2015 Views

datasensor safety sensor sb-bws-t4

datasensor safety sensor sb-bws-t4

datasensor safety sensor sb-bws-t4

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

};}public static void Main(){//o a doua instanta a delegatuluiServer.AfisareDelegate d2 = newServer.AfisareDelegate(AfisarePersonalizata2);//o instanta a clasei ServerServer s = new Server();//apelul metodei server de 2 ori//afisari personalizates.ListareInformatii(d1);s.ListareInformatii(d2);Console.ReadLine();}Cu ildasm putem vedea codul MSIL generat:Se observă că un delegat este o clasă derivată implicit dinSystem.MulticastDelegate şi posedă 3 metode: Invoke, BeginInvok şi EndInvoke.(Apelul metodei callback din ListareInformaţii este tradus în apelul metodei Invoke.)Constructorul clasei delegat, surprinzător, nu conţine nici o instrucţiune:.method public hidebysig specialname rtspecialnameinstance void .ctor(object 'object', native int 'method') runtime managed{} // end of method AfisareDelegate::.ctorAceasta deoarece, pentru a putea garanta faptul că metoda callback specificatăde client are aceeaşi semnătură cu delegatul, implementarea constructorului esteoferită de către mediul de execuţie!3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!