Using reflection to get the method return type : Method « Reflection « Visual C++ .NET





Using reflection to get the method return type

 
#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 parameter info of a method
2.Get method from Type
3.Invoke a method