c# - 在对象初始值设定项中分配事件

标签 c# .net events delegates object-initializers

为什么不能在 C# 中的对象初始值设定项中分配事件和属性?这样做似乎很自然。

var myObject = new MyClass()
     {
        Property = value,
        Event1 = actor,
        // or
        Event2 += actor
     };  

还是有什么我不知道的技巧?

最佳答案

这并没有使 C# 6 或 C# 7(从最初的问题开始),但是它还没有被决定反对。 GitHub 上有一个跟踪语言提案的问题。您可以在那里投票,也可以点击链接进入之前关于该功能的讨论。

https://github.com/dotnet/csharplang/issues/307

如果您希望看到此功能,请对该问题点赞以帮助提高其知名度。

建议的语法是:

var timer = new DispatcherTimer {
    Tick += delegate {},
    Interval = TimeSpan.FromSeconds(1d),
};

关于c# - 在对象初始值设定项中分配事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3993601/

相关文章:

javascript - 是否可以从 onkeyup 获取 key 代码?

c# - 有没有办法在使用 MailKit c# 时将电子邮件另存为文件?

.net - 如何仅随机生成完全饱和的颜色?

.net - 为什么我的 Azure Functions 项目无法识别 Microsoft.AspNetCore.Http 程序集中的类?

c# - 合并列表中实体的两个属性并使用 Linq 将其展平

javascript - 当前 URL 之后添加 "?"时的窗口事件

javascript - 覆盖 CRM 网格中双击事件调用的标准方法。

c# - TPL 数据流管道在服务内部不断运行

c# - 是否可以从 Visual C# 2005 到 Visual C# 2008 Express 进行命令行项目升级和编译?

c# - WPF DataGrid CellTemplateSelector 项目