編譯器錯誤 CS0134
更新:2007 年 11 月
錯誤訊息
'variable' 屬於型別 'type'。屬於非字串之參考型別的 const 欄位,只能以 null 初始化。
常數運算式是可以在編譯時期完整評估的運算式。因為套用新運算子是建立參考型別 (Reference Type) 之非 null 值的唯一方法,又因為常數運算式中不允許使用新的運算子,所以字串以外之參考型別的常數,唯一可能的值就是 null。
如果您在嘗試建立 const 字串陣列時遇到這個錯誤,解決方式是將此陣列設為 readonly,並在建構函式內初始化此陣列。
範例
下列範例會產生 CS0134:
// CS0134.cs
// compile with: /target:library
class MyTest {}
class MyClass
{
const MyTest test = new MyTest(); // CS0134
//OK
const MyTest test2 = null;
const System.String test3 = "test";
}