netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2005-02-20 古い日記からの変換データ [長年日記] ▲
_ C# ▲
C# 2.0 の Partial Class が aspectj-users ML で話題になってた.クラス定義の一部だけを別ファイルに書いておいてコンパイル時に足しこめるというもの.http://www-ise2.ise.eng.osaka-u.ac.jp/~iwanaga/programming/csharp/ap_ver2.htmlにC#新機能がまとめられていた.
Partial Type を自動生成すればAspectJ の Inter-Type Declaration に近いことができそうだがcrosscutting の記述ができないから違うんでは,というのは aspectj-users で出ていた意見だが,うまくクラス定義をモジュールに分割して,簡単なプリプロセッサでも書けばAspectJ や Hyper/J でやっていることに近いことができそう,という意味で面白そうではある.
本来の用途は「賢い #ifdef」なのかなと個人的に思っていたら,http://www.ondotnet.com/pub/a/dotnet/2004/04/05/csharpwhidbeypt1.htmlには,これは大きいクラスを分割しておくための仕組みで,デザイナなどで自動生成したコードと,人間が書いたコードとを自動で区分して管理しておくことが本当の目的だ,と書いてあった.
AspectJ で Inter-Type Declaration を使えば同じことはできるけれど,crosscutting もしてないのにコードを分割してていいのか,と怒られそうな気がする.