Затмение может препятствовать тому, чтобы Вы использовали конкретные классы?

__ getattr __ ()

getattr действительно хороший способ сделать универсальные классы, который особенно полезен, если Вы пишете API. Например, в FogBugz Python API, getattr используется для передачи вызовов метода на веб-сервис беспрепятственно:

class FogBugz:
    ...

    def __getattr__(self, name):
        # Let's leave the private stuff to Python
        if name.startswith("__"):
            raise AttributeError("No such attribute '%s'" % name)

        if not self.__handlerCache.has_key(name):
            def handler(**kwargs):
                return self.__makerequest(name, **kwargs)
            self.__handlerCache[name] = handler
        return self.__handlerCache[name]
    ...

, Когда кто-то звонит FogBugz.search(q='bug'), они не добираются, на самом деле звонят search метод. Вместо этого getattr дескрипторы вызов путем создания новой функции, которая переносится makerequest метод, который создает соответствующий Запрос HTTP к веб-API. Любые ошибки будут диспетчеризироваться веб-сервисом и пасоваться назад пользователю.

5
задан daveb 23 July 2009 в 22:53
поделиться

2 ответа

Ага - у меня именно эта проблема работает и для нескольких классов.

Настройки -> Java -> Внешний вид -> Фильтры типов.

13
ответ дан 18 December 2019 в 14:49
поделиться

Измените расположение зависимостей в пути к библиотеке в соответствии с порядком, в котором вы хотите, чтобы они были.

  • Щелкните правой кнопкой мыши проект> Свойства
  • Путь сборки Java
  • Закладка Порядок и экспорт

Это должно отдавать приоритет зависимостям, которые вы предпочитаете. (Хотя, если подумать, я не уверен, что это отражено в полях автозаполнения.)

0
ответ дан 18 December 2019 в 14:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: