C# 反射执行对象的方法
C#可以通过反射实例化对象,并且根据函数名去执行对象的方法。
加载对象并实例化对象
var assemblys = AppDomain.CurrentDomain.GetAssemblies(); var type = assemblys.Where(p => EditFormFullName.Contains(p.GetName().Name)).FirstOrDefault()?.GetType(EditFormFullName); var instance = Activator.CreateInstance(type);
获取对象方法
var targetMethod = type.GetMethod("Render", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);调用对象的方法
targetMethod.Invoke(instance, null);
调用对象继承的父对象方法
var form = instance as Form; form.ShowDialogWithMask();有时我们可能需要执行对象的父级方法,那么我们可以将对象转成父对象然后调用。