Exemplo n.º 1
0
			/// <summary>
			/// Returns parameters and return type remapped according to a constructed type.
			/// </summary>
			public ParameterInfo[]/*!*/ MakeConstructed(ConstructedType constructedType, out Type/*!*/ returnType)
			{
				MethodInfo method_info = method as MethodInfo;
				returnType = (method_info != null ? method_info.ReturnType : Types.Void);

				if (constructedType != null)
				{
					returnType = constructedType.MapRealType(returnType);

					ParameterInfo[] new_params = new ParameterInfo[parameters.Length];
					for (int i = 0; i < new_params.Length; i++)
					{
						ParameterInfo param_info = parameters[i];

						new_params[i] = new StubParameterInfo(
							param_info.Position,
							constructedType.MapRealType(param_info.ParameterType),
							param_info.Attributes,
							param_info.Name);
					}

					return new_params;
				}
				else
				{
					return parameters;
				}
			}