我正在尝试编写一个具有可选 EventHandler 参数的方法。它目前看起来像这样:

public void AddItemToMainMenu(MenuItem parentMenu, MenuItems item, String menuItemText, bool isChecked, EventHandler? eventHandler = null)

错误发生在最后一个参数上,它指出:



编辑:我已经删除了?现在收到一个非常相似的错误,我也对另一个论点做了一个不重要的改变。现在内容如下:
 public void AddItemToMainMenu( MenuItems item, String menuItemText, bool isChecked, EventHandler eventHandler = null, MenuItem? parentMenu = null)

最佳答案

您不需要使 EventHandler 可以为空。删除定义中的 ?

异常表示 System.EventHandler 必须是不可为空的值类型。由于 EventHandler 是一个类或引用类型,它显然不能是一个值类型,并且按照约定可以为空。

关于visual-studio-2010 - C# 4 可选空事件处理程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11094785/

10-13 09:21