嘗試整理範圍並避免可能的多次調用RegisterWindowMessage。
目前有以下成員錯誤CS0133:將函數的結果分配給C#中的常量.net
[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
static extern int RegisterWindowMessage(string lpString);
private int m_message = RegisterWindowMessage("MY_MSG");
使用一次,因爲我們只有一個實例這似乎確定的一類,但認爲這將是更加整潔使用。用我基本的C#理解,這應該調用RegisterWindowMessage並將結果賦給int並且不允許它改變。
private const int message = RegisterWindowMessage("MY_MSG");
但是試圖這樣做導致
error CS0133: The expression being assigned to 'someclass.messageEvent' must be constant
所以現在我很困惑,這是否意味着該函數被分配,並要求每次m_message
以前使用,有沒有別的東西失蹤?
請參閱const和readonly之間的區別是什麼?(http://stackoverflow.com/questions/55984/what-is-the-difference-between-const-and-readonly) – heavyd 2010-05-26 20:25:56