Using reflection to get the parameter info of a method : Method « Reflection « 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 » Reflection » Method 
Using reflection to get the parameter info of a method
 
#include "stdafx.h"
using namespace System;
using namespace System::Reflection;

ref class Reflector
{
   public:

   void LoadAndReflect(String^ assemblyFileName)
   {
      Assembly^ assembly = Assembly::LoadFrom(assemblyFileName);
      array<Type^>^ types = assembly->GetTypes();
      for each (Type^ t in types)
      {
         Console::WriteLine(t->ToString());
         array<MethodInfo^>^ methods = t->GetMethods();
         for each (MethodInfo^ method in methods)
         {
             Console::Write("   {0} {1}(", method->ReturnType->ToString(),method->Name);
             array<ParameterInfo^>^ params = method->GetParameters();
             for (int i = 0; i < params->Length; i++)
             {
                 ParameterInfo^ param  = params[i];
                 Console::Write("{0} {1}",  param->ParameterType->ToString(), param->Name);
                 if (i < params->Length - 1)
                    Console::Write(", ");
             }
             Console::WriteLine(")");
         }
      }
   }
};

int main(array<String^>^ args)
{
   Reflector^ r = gcnew Reflector();
   for each (String^ s in args)
   {
      Console::WriteLine("Reflection on {0}", s);
      r->LoadAndReflect(s);
   }
}

   
  
Related examples in the same category
1.Using reflection to get the method return type
2.Get method from Type
3.Invoke a method
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.