在下面的代碼中,我必須聲明方法MdrResponseInterpreter
static
否則我有編譯錯誤。爲什麼委託必須是靜態的?
class.... {
private StandardBuilder _mdrResponseBuilder =
new StandardBuilder(MdrResponseInterpreter);
public static bool MdrResponseInterpreter(DNMessageDeliverer builder,
DNFieldSet message)
{
// .... work
}
爲什麼?由於_mdrResponseBuilder
也不是一成不變的我希望MdrResponseInterpreter
應該能夠訪問this
這裏肯定有*是一個對象(否則這個值在哪裏被賦值?),但是你不允許訪問'this'。 – 2012-03-28 09:21:25
當然,我不清楚。更新了我的答案。 – Botz3000 2012-03-28 09:24:10
我仍然認爲它不清楚。對象*確實存在,完全。它可能沒有完全初始化,但在構造函數體中也是如此。 (可能還有其他派生的構造函數體,它們還沒有運行,...) – 2012-03-28 09:25:05