<replaced-method> と spring.Net で IMethodReplacer を実装するオブジェクトを使用して、C# でゲッターを交換できるかどうかを調べようとしていますか? この場合、注入されるプロパティは計算された値であるため、このルートに進む必要があります。ゲッターを実際のメソッドにする必要がありますか?
これが私がやろうとしていることのスケルトンです:
public class SecureHeader
{
public string Token { get; set; }
}
public class Generator
{
public SecureHeader GenerateSecureHeader(object[] args) { return new SecureHeader(); }
}
public class InstantiatedByIOC
{
public virtual SecureHeader Header
{
get
{
return new SecureHeader
{
Token = "Hard Coded"
};
}
}
}
public class SecureHeaderReplacer : IMethodReplacer
{
public Generator Generator { get; set; }
public object Implement(object target, MethodInfo method, object[] args)
{
return Generator.GenerateSecureHeader(null);
}
}
これを配線するにはどうすればよいですか (無効なメソッドオーバーライドを取得し続けます:D)?
以下は機能しません。
<object id="replacer" type="SecureHeaderReplacer">
<property name="Generator" ref="CreatedElsewhere"/>
</object>
<object id="entityToInject type="InstantiatedByIOC">
<replaced-method name="Header replacer="replacer">
<arg-type match="SecureHeader" />
</replaced-method>
</object>
どれでも