private static void FillInDefaultParams(ParameterInfo[] parameterInfos, object[] callParams, object sender) { for (int i = 0; i < parameterInfos.Length; i++) { ParameterInfo paramter = parameterInfos[i]; CreateObjectHandler delegateParamHandler = GetDelegateParamHandler(paramter.Name, paramter.ParameterType); object obj2 = null; if (delegateParamHandler == null) { try { obj2 = Activator.CreateInstance(paramter.ParameterType); } catch (Exception exception) { Trace.WriteLine(string.Concat(new object[] { "Could not create param:", i, " type:", paramter.ParameterType.FullName, ".", exception.ToString() })); } } else { obj2 = delegateParamHandler(paramter, sender); } callParams[i] = obj2; } }
private static CreateObjectHandler GetDelegateParamHandler(string paramName, System.Type paramType) { CreateObjectHandler handler = delegateParams[paramType.FullName + "::" + paramName] as CreateObjectHandler; if (handler != null) { return(handler); } return(delegateParams[paramType.FullName + "."] as CreateObjectHandler); }
private static void AddDelegateParam(string paramName, System.Type paramType, CreateObjectHandler objectHandler) { if (paramName == null) { delegateParams.Add(paramType.FullName + ".", objectHandler); } else { delegateParams.Add(paramType.FullName + "::" + paramName, objectHandler); } }