0

次のメソッドコンストラクターの New() が何を意味するのか誰か教えてもらえますか? TEvent が CompositePresentationEvent を継承していることは知っていますが、new() とはどういう意味ですか?

protected void RaiseEvent<TEvent, TParameter>(TParameter parameter) where TEvent : 
    CompositePresentationEvent<TParameter>, new()
    {
        EventAggregator.GetEvent<TEvent>().Publish(parameter);
    }
4

2 に答える 2

4

その関数宣言new()では、ジェネリック型パラメーターに対する制約があります。TEventこれは、型にパラメーターのないパブリック コンストラクターが必要であることを意味します。

ジェネリック型の制約について詳しくは、こちらをご覧ください。

于 2013-03-29T22:53:04.527 に答える
1

これは、メソッドのジェネリック パラメーターに対する制約です。基本的に、メソッドに引数として渡されるジェネリック型には、パラメーターなしのコンストラクターが必要であることを意味します。

于 2013-03-29T22:57:29.703 に答える