// LoadInvoke loads MyAssembly.dll and invokes the MyMethod1 method. // After compiling this class, run LoadInvoke.exe with MyAssembly.dll // as the command line argument, as shown below: // LoadInvoke Myassembly.dllusing System; using System.Reflection; public class LoadInvoke { public static void Main(string[] args) { Assembly a = Assembly.LoadFrom(args[0]); Type[] mytypes = a.GetTypes(); BindingFlags flags = (BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance | BindingFlags.DeclaredOnly); foreach(Type t in mytypes) { MethodInfo[] mi = t.GetMethods(flags); Object obj = Activator.CreateInstance(t); foreach(MethodInfo m in mi) { m.Invoke(obj, null); } } } }
private static extern int GetPrivateProfileString(string section,
string key,string def, StringBuilder retVal,
int size,string filepath);
同意
对象怎样实例化?能不能给个完整的例子
// After compiling this class, run LoadInvoke.exe with MyAssembly.dll
// as the command line argument, as shown below:
// LoadInvoke Myassembly.dllusing System;
using System.Reflection;
public class LoadInvoke
{
public static void Main(string[] args)
{
Assembly a = Assembly.LoadFrom(args[0]);
Type[] mytypes = a.GetTypes();
BindingFlags flags = (BindingFlags.NonPublic | BindingFlags.Public |
BindingFlags.Static | BindingFlags.Instance | BindingFlags.DeclaredOnly); foreach(Type t in mytypes)
{
MethodInfo[] mi = t.GetMethods(flags);
Object obj = Activator.CreateInstance(t); foreach(MethodInfo m in mi)
{
m.Invoke(obj, null);
}
}
}
}