3

オプションのEventHandlerパラメーターを持つメソッドを作成しようとしています。現在、次のようになっています。

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

エラーは最後の引数で発生し、次のように述べています。

エラー51タイプ'System.EventHandler'は、ジェネリック型またはメソッド'System.Nullable'のパラメーター'T'として使用するために、null許容値ではないタイプである必要があります。

編集:私は?を削除しました そして今、非常によく似たエラーを受け取りましたが、私は別の引数に重要でない変更を加えました。現在、次のようになっています。

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

エラー41型'System.EventHandler'は、ジェネリック型またはメソッド'System.Nullable'のパラメーター'T'として使用するために、null許容でない値型である必要があります。

4

2 に答える 2

3

EventHandlerは参照型であるため、本質的にnull許容です。する必要があります:

public void AddItemToMainMenu(MenuItem parentMenu, MenuItems item, String menuItemText, bool isChecked, EventHandler eventHandler = null)
于 2012-06-19T05:22:57.013 に答える
1

EventHandlernull許容にする必要はありません。定義からを削除し?ます。

例外はSystem.EventHandler、null許容でない値型でなければならないことを示しています。はクラスまたは参照型であるためEventHandler、明らかに値型にすることはできず、慣例によりnull許容です。

于 2012-06-19T05:22:00.447 に答える