public override void VisitOperatorDeclaration (OperatorDeclaration operatorDeclaration) { base.VisitOperatorDeclaration (operatorDeclaration); var newm = new MethodDeclaration { Name = GetOpName (operatorDeclaration.OperatorType), Modifiers = operatorDeclaration.Modifiers, ReturnType = operatorDeclaration.ReturnType.Clone (), }; newm.Parameters.AddRange (operatorDeclaration.Parameters.Select (x => (ParameterDeclaration)x.Clone ())); var body = operatorDeclaration.Body; body.Remove (); newm.Body = body; operatorDeclaration.ReplaceWith (newm); }