現在、C# で Microsoft EventSources を試しています。1つの制限は次のとおりです
...ETW メソッドに渡される引数の数と型は、それが呼び出す WriteEvent オーバーロードに渡される型と正確に一致する必要があります。例えば:
[Event(2, Level = EventLevel.Informational)]
public void Info(string message, int count)
{
base.WriteEvent(2, message, count);
}
これは基本的に、EventSource クラスでよりリッチな API を作成することを制限します。これは基本的に、カスタム オブジェクトを受け取るメソッドを作成できず、メソッド本体内でそれを文字列 (または WriteEvent オーバーロードでサポートされている別の型) にシリアル化できることを意味します。
決定できる唯一のことは、メソッド名と、WriteEvent オーバーロードを反映するパラメーター名とカウントです。それとも私が間違っていますか?