2
私の現在のメソッドは、文字列を操作する操作を制限できますが、より細かい穀粒制御が必要です。私は、いくつかのパラメータにのみ適用可能なタイトルケースに要素を設定するようなことをしたいが、これに対してはパラメータレベルごとに操作できる必要がある。このメソッドは、カスタム属性などの単一のパラメータのメタデータをチェックする方法を提供していませんか?PostSharpでは、メソッドに対する単一の引数の値を変更することは可能ですか?
(私はパラメータの一貫したフォーマットを実行するためのより良い方法がありますが、これは私が答えようとしている質問を示しています)。
/// <summary>
/// Checks all string parameters on a method and trims the input if
/// a non null string is identified.
/// </summary>
[Serializable]
public class TrimAllStringInputsAspect : MethodInterceptionAspect
{
public override void OnInvoke(MethodInterceptionArgs args)
{
for (int i = 0; i < args.Arguments.Count; i++)
{
var argVal = args.Arguments.GetArgument(i);
if (argVal != null)
{
if (argVal is String)
{
args.Arguments.SetArgument(i, argVal.ToString().Trim());
}
}
}
args.Proceed();
}
}
ありがとうございました。 – gb2d