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); } }
偶练习的时候写的一段代码,可能有点用 System.Reflection.Assembly a = Assembly.LoadFrom(fileName); System.Type[] tps = a.GetTypes(); foreach (Type t in tps) { object o = System.Activator.CreateInstance(t); // ... }
楼主看看有关"反射"方面的书:如《VB.NET反射参考手册》,C#的版本不知有没有。
用.net的反射技术,System.Reflection.Assembly a = Assembly.LoadFrom(fileName); System.Type[] tps = a.GetTypes(); foreach (Type t in tps) { object o = System.Activator.CreateInstance(t); }
用反射 楼主要是不清楚看看msdn关于反射的内容 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); } }
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);
}
}
System.Type[] tps = a.GetTypes();
foreach (Type t in tps)
{
object o = System.Activator.CreateInstance(t);
// ...
}
System.Type[] tps = a.GetTypes();
foreach (Type t in tps)
{
object o = System.Activator.CreateInstance(t);
}
楼主要是不清楚看看msdn关于反射的内容
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);
}
}