Adding and removing Delegates : Delegate « Delegate « Visual C++ .NET

Home
Visual C++ .NET
1.2D
2.Class
3.Collections
4.Data Type
5.Database ADO.net
6.Delegate
7.Development
8.File Directory
9.Function
10.Generics
11.GUI Form
12.Language Basics
13.Network
14.Reflection
15.Security
16.Statement
17.Structure
18.Thread
19.XML
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Visual C++ .NET » Delegate » Delegate 
Adding and removing Delegates
  

#include "stdafx.h"
using namespace System;

delegate void OutputMessage(String ^name);

void SayHello(String ^name){
    Console::Write("Hello there ");
    Console::WriteLine(name);
}

ref class MyClass{
public:
    static void Print1(String ^name);
    void Print2(String ^name);
    void Print3(String ^name);
};

void MyClass::Print1(System::String ^name){
    Console::Write("1 ");
    Console::WriteLine(name);
}

void MyClass::Print2(System::String ^name){
    Console::Write("2 ");
    Console::Write(name);
}

void MyClass::Print3(System::String ^name){
    Console::Write("3 ");
    Console::WriteLine(name);
}

void main(){
    OutputMessage^ say;
    say = gcnew OutputMessage(&SayHello);
    say += gcnew OutputMessage(&MyClass::Print1);
    MyClass ^computer = gcnew MyClass();

    say = say + gcnew OutputMessage(computer, &MyClass::Print2);
    say += gcnew OutputMessage(computer, &MyClass::Print3);

    say->Invoke("s1");

    say = say - gcnew OutputMessage(&MyClass::Print1);
    say -= gcnew OutputMessage(computer, &MyClass::Print3);

    say("s1");


   
    
  
Related examples in the same category
1.delegate invocation list
2.delegate operators
3.Define delegate function
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.