public static FieldReference MakeGeneric(this FieldReference field, TypeReference declaringType) { var reference = new FieldReference(field.Name, field.FieldType) { DeclaringType = declaringType.MakeGenericIfRequired(), }; return reference; }
public static MethodReference MakeGeneric(this MethodReference method, TypeReference declaringType) { var reference = new MethodReference(method.Name, method.ReturnType) { DeclaringType = declaringType.MakeGenericIfRequired(), HasThis = method.HasThis, ExplicitThis = method.ExplicitThis, CallingConvention = method.CallingConvention, }; foreach (var parameter in method.Parameters) { reference.Parameters.Add(new ParameterDefinition(parameter.ParameterType)); } return reference; }