code: def uninstall_extension_by_name(self, publisher_name, extension_name, reason=None, reason_code=None):
          
          route_values = {}
          if publisher_name is not None:
              route_values['publisherName'] = self._serialize.url('publisher_name', publisher_name, 'str')
          if extension_name is not None:
              route_values['extensionName'] = self._serialize.url('extension_name', extension_name, 'str')
          query_parameters = {}
          if reason is not None:
              query_parameters['reason'] = self._serialize.query('reason', reason, 'str')
          if reason_code is not None:
              query_parameters['reasonCode'] = self._serialize.query('reason_code', reason_code, 'str')
          self._send(http_method='DELETE',
                     location_id='fb0da285-f23e-4b56-8b53-3ef5f9f6de66',
                     version='5.0-preview.1',
                     route_values=route_values,
                     query_parameters=query_parameters)
docs: UninstallExtensionByName.
          [Preview API] Uninstall the specified extension from the account / project collection.
          :param str publisher_name: Name of the publisher. Example: "fabrikam".
          :param str extension_name: Name of the extension. Example: "ops-tools".
          :param str reason:
          :param str reason_code: