IParameterInspector インターフェイスを実装します。プリミティブ型パラメーターを持つメソッドを呼び出すと、Beforecall が正常に動作します。しかし、カスタム参照型オブジェクトを渡すと問題が発生します。参照型パラメーターを渡すと、オブジェクトのすべてのフィールドがデフォルト値を取得します。
object IParameterInspector.BeforeCall(string operationName, object[] inputs)
{
var argument = (MyCustomType)inputs[0];
if (argument != null)
{
// All the fields are null, e.g.argument.ID is null
}
}