[seasar-dotnet:2078] Re: コンストラクタにパラメータを指定してコンポーネントを取得する

Moo ia [E-MAIL ADDRESS DELETED]
2011年 7月 15日 (金) 14:57:11 JST


fempです。
久保さま、回答ありがとうございました。

これを先に述べるべきでした。
今回、AOPによるロギングを目的としてS2Container.NETについて調べていました。
この際、ロギング対象のメソッドを持つクラスが、
そのコンストラクタに動的に変わるパラメータを必要としていたため、質問させていただきました。
情報が後だしになってしまい、申し訳ありません。

私も、クラスの設計自体を見直して、パラメータはプロパティ等で後から渡すべきかと検討しています。
普通にnewして作ったインスタンスに、後からアスペクトを適用することはさすがに無理ですよね?
他に手段がないようでしたら、やはりクラス設計を見直す方針に変えようと思います。


> Date: Fri, 15 Jul 2011 11:18:48 +0900
> 久保(jflute)です。
> 
> fempさん、こんにちは
> 
> S2Container.NETでどこまでできたか、
> ちょっとわからないので正確なアドバイスでは
> ありませんが、コメントします。
> 
> 具体的にどのようなクラスかわからないので的外れかもしれませんが、
> コンストラクタの値が動的に変わるような類いのクラスは、
> S2Container管理しないで普通に new するか、そのパラメータは
> コンストラクタではなく、プロパティかメソッドの引数にした方が
> 良いように思います。
> 
> 2011/7/14 Moo ia <[E-MAIL ADDRESS DELETED]>:
> > お世話になります。fempと申します。
> > S2Container.NETについて質問があります。
> > (環境は.NET Framework 4.0, C#)
> >
> > S2Containerに登録されたコンポーネントの取得は、
> > Hoge hoge = (Hoge)container.GetComponent(typeof(Hoge));
> > とすればよいことは分かったのですが、
> > ここでのクラスHogeのコンストラクタにパラメータを渡すにはどうすればよいでしょうか。
> >
> > diconファイルにてarg要素を指定すればできることは確認できていますが、
> > 今回はパラメータが実行時に確定するため、コード中に記述する必要があります。
> > よろしくお願い致します。
> >
> > _______________________________________________
> > seasar-dotnet mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> >
> >
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
 		 	   		  
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-dotnet/attachments/20110715/aff881cc/attachment.html>


seasar-dotnet メーリングリストの案内