DynamicAopProxy変更
今日のエントリを書いていて、ふと思うところがあって修正。(暫定なので問題があれば戻すかも)
Seasar.Framework.Aop.DynamicProxy.DynamicAopProxy.cs
- 自身のインスタンスを生成したタイミングで、拡張した型を生成するように変更している。そのためにプロパティ"EnhancedType"を追加し、このプロパティで拡張された型を取得可能。
- 拡張した型をコンストラクタ実行時に生成するようにしたので、#Createメソッドがシンプルになっている。例えば引数付きのメソッドであれば、
public object Create(Type argTypes, object args) { ArrayList newArgs = new ArrayList(); newArgs.Add(this); newArgs.AddRange(args); return Activator.CreateInstance(this.enhancedType, newArgs.ToArray()); }
となる。(パラメタargTypesは本当は不要なのだが、AOPProxyとの互換性のために存在している)