Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- delegate void Procedure(); // Декларация на делегат,
- // който за примера не приема параметри
- // и не прави нищо
- namespace Events
- {
- public class DelegateDemo
- {
- public static void Method1()
- {
- Console.WriteLine("Method 1");
- }
- public static void Method2()
- {
- Console.WriteLine("Method 2");
- }
- public void Method3()
- {
- Console.WriteLine("Method 3");
- }
- static void Main()
- {
- // Създаване на инстанция (обект) от делегата
- // На този етап все още няма отнасящи се методи към делегата
- Procedure someProcs = null;
- // Тук с помощта на оператора += се добавят обработчици (методи)
- someProcs += new Procedure(DelegateDemo.Method1);//Синт. с име на класа
- someProcs += new Procedure(Method2); // Синтаксис без име на класа
- // Създаване на обект, върху който ще се извика метод 3
- DelegateDemo demoObject = new DelegateDemo();
- someProcs += new Procedure(demoObject.Method3); // Синтаксис за добавяне на метод на инстанция
- someProcs(); // Извикване на делегата, а с него - всички методи,
- // добавени към неговата инстанция
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement