編譯器錯誤 CS1958
更新:2007 年 11 月
錯誤訊息
物件和集合初始設定式運算式不能套用到委派建立運算式。
委派 (Delegate) 沒有類似類別 (Class) 或結構 (Struct) 所具有的成員,所以其中沒有物件初始設定式可以初始化的對象。如果您遇到這個錯誤,原因可能是委派建立運算式後面出現了大括號。只要移除這些大括號,這個錯誤便會消失。
若要修正這個錯誤
- 移除大括號。
範例
下列程式碼會產生 CS1958:
// cs1958.cs
public class MemberInitializerTest
{
delegate void D<T>();
public static void GenericMethod<T>() { }
public static void Run()
{
D<int> genD = new D<int>(GenericMethod<int>) { }; // CS1958
// Try the following line instead
// D<int> genD = new D<int>(GenericMethod<int>);
}
}