更新:2007 年 11 月

错误消息

对象和集合初始值设定项表达式不能应用于委托创建表达式,

与类或结构不同,委托不具有任何成员,因此对象初始值设定项没有要进行初始化的内容。如果遇到此错误,则可能是因为委托创建表达式后面有大括号。只需移除这些大括号,此错误即会消失。

更正此错误

  • 移除大括号。

示例

下面的代码将产生 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>);
    }
}