このコードの何が問題なのか本当にわかりません。いくつかのエラーをスローしています:
エラー CS0079: イベントはor演算子
core.Events.Event.thisEvent
の左側にのみ表示できます+=
-=
エラー CS0070: イベントは、型
core.Events.Event.thisEvent
の左側にのみ表示される+=
か-=
、型の外側で使用される場合に のみ表示されますcore.Events.Event
エラー CS1502: の最適なオーバーロードされたメソッドの一致に
System.Delegate.Combine(System.Delegate, System.Delegate)
無効な引数が含まれていますエラー CS1503: 引数は式を型
#1
に変換できませんobject
System.Delegate
私は何を間違っていますか?どうすれば修正できますか?
using System;
using System.Runtime.CompilerServices;
namespace core.Events
{
public class Event
{
public delegate void EventDelegate (object from,EventArgs args);
public event Event.EventDelegate thisEvent {
[MethodImpl(MethodImplOptions.Synchronized)]
add {
this.thisEvent += (Event.EventDelegate)Delegate.Combine (this.thisEvent, value);
}
[MethodImpl(MethodImplOptions.Synchronized)]
remove {
this.thisEvent -= (Event.EventDelegate)Delegate.Remove (this.thisEvent, value);
}
}
public void call (object from, EventArgs args)
{
this.thisEvent (from, args);
}
}
}
助けてくれてありがとう、私はとても疲れていて、情報源に迷っていると思います...