2010-11-30 12 views
1

特定のタスクを実行するPythonデコレータを作成したいと思いますが、@staticmethodが行うこともします。これを達成しましたが、PyDevを使用すると、メソッドにselfパラメータがないため、使用法が正しくないことがわかります。@staticmethod再実装のPydevエラーを表示する

私の簡素化の実装は以下の通りです:

class Service(object): 

    def __init__(self, f): 
     self.f = f 

    def __get__(self, obj, objtype=None): 
     return self.f 

と使用方法は次のとおりです。私はこのPythonのプログラムを実行すると

class Environment: 

    @Service 
    def getConfig(input): 
     return 50 

、すべてがうまく動作しますが、PyDevは、それが誤りだと思っているようです。 pydevでこのタイプのエラーのチェックを無効にする簡単な方法はありますか?残りの機能はそのままにしておきますか?

+1

また、@staticmethodと@Serviceを連鎖させる2つのデコレータを使用することもできます(これはおそらく関数でもあります)。個人的には、デコレータはメソッド/関数/モジュール命名規則を使用すべきだと私は考えています。 'サービス'ではなく 'サービス'である。 ( 'staticmethod'はクラスだと考えてください。) –

答えて

1

いつものように誰かが答える前にそれを見つけました。

しかし、将来的に誰もが知りたい場合:

ウィンドウ>設定> PyDevは>エディタ>コード分析>その他

このウィンドウには自明です。

関連する問題