delegate invocation list : 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 
delegate invocation list
 
#include "stdafx.h"
using namespace System;

delegate String^ MyDelegate();

ref class MyClass
{
   public:

   String^ f() { return "MyClass::f"}
   String^ g() { return "MyClass::g"}
   String^ h() { return "MyClass::h"}
};

int main()
{
   MyDelegate^ d;
   MyClass^ r = gcnew MyClass();

   d =  gcnew MyDelegate(r, &MyClass::f);

   d = (MyDelegate^d->Combine(d, gcnew MyDelegate(r, &MyClass::g));
   d = (MyDelegate^d->Combine(d, gcnew MyDelegate(r, &MyClass::h));

   String^ s = d->Invoke();
   Console::WriteLine("Return value was {0}", s);

   d = (MyDelegate^d->Remove(d, gcnew MyDelegate(r, &MyClass::g));

   s = d->Invoke();
   Console::WriteLine("Return value was {0}", s);

   for each (MyDelegate^ del in d->GetInvocationList())
   {
       s = del->Invoke();
       Console::WriteLine("Return value was {0}", s);
   }

}

   
  
Related examples in the same category
1.Adding and removing Delegates
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.