private static void FillConstructors(Type type, ReflectType newType, ReflectAssembly newassembly, ReflectNamespace currNamespace) { foreach (var constructorInfo in type.GetConstructors()) { var newMethod = new ReflectMethod() { Name = constructorInfo.Name, Parameters = new List <ReflectParameter>(), Return = null }; foreach (var parameterInfo in constructorInfo.GetParameters()) { Tuple <ReflectNamespace, ReflectAssembly> asmns2 = FindNamespaceAndAssembly(parameterInfo.ParameterType); newMethod.Parameters.Add(new ReflectParameter() { Name = parameterInfo.Name, Type = AddNewSimpleReflectType(parameterInfo.ParameterType, asmns2.Item2, asmns2.Item1) }); } newType.Contructors.Add(newMethod); } }
private static void FillMethods(Type type, ReflectType newType, ReflectAssembly newassembly, ReflectNamespace currNamespace) { foreach (var methodInfo in type.GetMethods()) { // Finds or crates a new Type on this assembly Tuple <ReflectNamespace, ReflectAssembly> asmns = FindNamespaceAndAssembly(methodInfo.ReturnType); var newMethod = new ReflectMethod() { Name = methodInfo.Name, Parameters = new List <ReflectParameter>(), Return = AddNewSimpleReflectType(methodInfo.ReturnType, asmns.Item2, asmns.Item1) }; foreach (var parameterInfo in methodInfo.GetParameters()) { Tuple <ReflectNamespace, ReflectAssembly> asmns2 = FindNamespaceAndAssembly(parameterInfo.ParameterType); newMethod.Parameters.Add(new ReflectParameter() { Name = parameterInfo.Name, Type = AddNewSimpleReflectType(parameterInfo.ParameterType, asmns2.Item2, asmns2.Item1) }); } newType.Methods.Add(newMethod); } }