2010-11-30 34 views
1

我想創建一個執行特定任務的python裝飾器,但是也執行@staticmethod所做的事情。我已經完成了這一點,但使用PyDev,它告訴我,用法不正確,因爲該方法沒有self參數。Pydev在@staticmethod重新實現中顯示錯誤

我簡單的實現如下:

class Service(object): 

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

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

和用法是:

class Environment: 

    @Service 
    def getConfig(input): 
     return 50 

當我運行這個Python程序,一切都運行良好,但PyDev的認爲這是一個錯誤。有沒有一些簡單的方法來禁用檢查pydev中的這種類型的錯誤,同時保持其功能的其餘部分存在?

+1

你也可以考慮使用兩個裝飾器 - 鏈接@staticmethod和@Service(這也可能是一個函數)。我個人也認爲裝飾者應該使用方法/函數/模塊命名約定; `service`而不是`Service`。 (考慮`staticmethod`是一個類。) – 2010-11-30 07:04:47

回答

1

像往常一樣,發現它之前有人可以回答。

但如果有人在今後想知道:

窗口>首選項> Pydev的>編輯>代碼分析>其他

這個窗口是不言自明的。