public MethodDefinition Copy(ClassDefinition parent = null) { var m = new MethodDefinition(Name, parent ?? Parent, Parameters.Length) { Access = Access, Field = Field, IsAbstract = IsAbstract, IsConstructor = IsConstructor, IsExcluded = IsExcluded, IsStatic = IsStatic, ReturnType = ReturnType.Copy() }; for (int i = 0; i < Parameters.Length; i++) { m.Parameters[i] = Parameters[i].Copy(); } return(m); }