2

カスタマイズされたイベント引数のクラス定義は次のとおりです

using System;

public class DeserializeEventArgs<T> : EventArgs
{
    public DeserializeEventArgs(T deserializeResult)
    {
        this.DeserializeResult = deserializeResult;
    }

    public T DeserializeResult
    {
        get;
        private set;
    }
}

そして、このイベントを発生させたいコードでこれを行いたい

public event EventHandler<DeserializeEventArgs<T>> DeserializeEvent;

そして、それはコンパイルされません (T の下の赤い行は、タイプが見つからないことを示しています)。これが正しい使用方法かどうかわからないので、経験のある方はアイデアを共有してください。

ありがとうございました

4

2 に答える 2

5

イベントを宣言するときは、EventHandlerで行うのと同じように、使用するタイプを指定する必要があると思います。

public event EventHandler<DeserializeEventArgs<T>> DeserializeEvent;

する必要があります

public event EventHandler<DeserializeEventArgs<YourType>> DeserializeEvent;
于 2012-07-13T22:22:41.480 に答える
2

Tは型パラメーターです。基本的に、使用する実際の型の代用です。イベントで渡したいオブジェクトのタイプが何であれDeserialize、代わりにその名前をそこに置く必要があります。

クラスが「データ」と呼ばれる場合、次のようになります。

public event EventHandler<DeserializeEventArgs<Data>> DeserializeEvent;
于 2012-07-13T22:22:06.440 に答える