Visual C++ .NET/Reflection/Type
Create instance from a type
<source lang="csharp">
- include "stdafx.h"
using namespace System; using namespace System::Reflection; ref class Reflector {
public: void TestDynamicCall(String^ greeting) { Console::WriteLine(greeting); }
}; void LoadAndReflect(String^ assemblyFileName, String^ typeName,String^ methodName, array<Object^>^ parameterList) {
Assembly^ assembly = Assembly::LoadFrom(assemblyFileName); Type^ t= assembly->GetType(typeName); MethodInfo^ method = t->GetMethod(methodName); Object^ obj = Activator::CreateInstance(t); method->Invoke(obj, parameterList);
} int main() {
array<Object^>^ params = gcnew array<Object^> { "Hello!" }; LoadAndReflect("reflection2.exe", "Reflector", "TestDynamicCall", params);
}
</source>