public void ExecuteMethod(ILClassInstance classInstance, string methodName, int paramCount, params object[] paras) { if (classInstance.classInstance == null || classInstance.type == null) { return; } IMethod method = classInstance.type.GetMethod(methodName, paramCount); appdomain.Invoke(method, classInstance.classInstance, paras); }
public ILClassInstance CreateInstance(string typeFullName, params object[] args) { ILClassInstance ilInstance = null; object instance = appdomain.Instantiate(typeFullName, args); if (instance != null) { ilInstance = ReferencePool.Acquire <ILClassInstance>(); ilInstance.classInstance = instance; ilInstance.type = appdomain.LoadedTypes[typeFullName]; } return(ilInstance); }