2006-08-01から1ヶ月間の記事一覧

痛ててっ

首を寝違えてしまった。慣れないことはするものではないな。 でも、慣れないからこそ、面白いともいえる。

制御の逆転とIDisposable (DIxAOPによる解決)

んなわけでAOPでIDisposableをインターセプトして、IDisposable.Disposeを無視(artonさんの言ってる事) or コンテナ制御への無効な介入として拒絶して例外を投げる。(自分が言ったパターン) AOPコンテナによるオブジェクトライフサイクルの管理 - 菊池 B…

制御の逆転とIDisposable (Interface Injection)

解らなくなってきたので、整理することにした。 例えばDIコンテナで生成、管理しているシングルトンなオブジェクトが(singletonってのがポイント)、クライアント側で(誤用を含めて)Disposeされてしまったオブジェクトの復旧をどうするか、ということが、ふと…

台風一過

早い時間に通勤する際の最大の褒美は、朝の一番空気が綺麗な時間に外を歩けることだ。それは都市部であっても変わらず、特に今朝は台風一過だったので事の外空気が清んでいるのを実感できる。 ニュースでは既に暑いようなことも言っていたが、いやいやどうし…

Sandcastle script & configuration utility

Sandcastle Blogを始めとして、以前に紹介したいくつかのサイトでは、SandCastleを使ってVisual Studioが吐いたXMLコメントを新MSDN風のHTMLヘルプ形式(chm)のドキュメントに変換する方法が書かれていたが、その方法で使用されるバッチファイルを自動で出力…

すっげえ雨

どうやら一番雨が酷い時に通勤したらしい。膝下までずぶ濡れだ。シャツも背中までびっしょり。通勤でこれだけ濡れたのは初めてかも。6時前後はそれ位凄い降りっぷりだった。

単純派生したクラスを動的に生成する(3)

AppDomain境界を越えて動的に生成した型にアクセスする場合、例えば.NET Remoting等では他のAppDomainが生成した型にアクセスすることは出来ないので、生成した型が属するアセンブリを保存する必要が出てくる。 これだが、動的に生成したアセンブリを無理に…

NUnit GUIRunner

GUIRunnerのフォームを表示したままで対象のアセンブリをリビルドすると、それをちゃんと検知してテスト一覧もリフレッシュするのね。今まで知らなくてビルドする度に表示しなおしていたよ!! 恥ずかしいね。でも、ここまでやるならEclipseのパースペクティヴ…

Internet Explorer 7

レイアウトが崩れるページがあるとやはりいらいらするので、アンインストールしてしまった。といってもはてな位なんだけどね。

こんな朝から

雷なってるし、今日は荒れそうだ。

制御の逆転とIDisposable

IDisposableを実装する(かもしれない)オブジェクトの後始末は簡単だ。IDisposableを実装していれば、メソッドDispose()を呼べばよい。 if ( component is IDisposable ) { (component as IDisposable).Dispose(); } ならば、一度DisposeされたIDisposableオ…

暑い

、今日は半端無い暑さだ。出かけて帰ってくるだけでちょっと眩暈がした。

単純派生したクラスを動的に生成する

元になるクラスから単純に派生した、つまり実装は変えずに型名だけを変えた派生クラスを必要なだけ作る必要が出てきたので、(通常ならば新しい型が必要になった時点で派生型を定義するのでリビルドも必要)ILのEmitを使ってコンストラクタだけ書き直した型を…

単純派生したクラスを動的に生成する(2)

前エントリのメソッドでは、第4パラメタにtrueをセットすることにより、型の生成を行う度に動的に生成したアセンブリが物理ファイルとしてカレントディレクトリに保存される。 単に一時的に使用する型であれば、アセンブリの物理的な保存は不要なのだが、App…

Abreu in trade

MLB

久々にMLBネタ。Yankees land Abreu in tradeアブレイユとライドルがトレードで入ったなんて、全然知らなかった。昨日の晩に見たMLBハイライトで初めて実物見たよ。それに、クレイグ・ウィルソンて誰だよ!それにしても凄すぎる。こんなんじゃシェフと松井が…

もう少し軽く

ならないものかね。少し大きめのソリューション(プロジェクト×5)を開いていると、ソリューションエクスプローラのペイン境界を、リサイズするだけで数秒待たされる。メモリも足りてるし、CPUだって最新とは言わないが、周波数が2.4GhzのPCでこれだと結構スト…

TestDriven.Net

Visual Studio 2005のnUnit用アドインとして重宝しているTest Driven .NETだが、debbugerを使用したテストで、いちいち"Microsoft.VisualStudio.QualityTools.UnitTestFramework"というアセンブリを読もうとして例外を投げるので、(こんなトラブル、昔は出て…

慣れ

というのは恐ろしい。あれほど面倒だった Visual Studio 2005でC#ソースコード編集 -> ビルド -> テスト -> Eclipse(C#プラグイン)でCVSコミット という作業サイクルが当たり前になっている。Visual Studioと相性の良い、軽いCVSクライアント無いかなぁ。

慣れ2

煙草を吸っていた頃は「休憩」と称して、1時間に一回は必ず席を外して喫煙所に行っていた。 それが仕事の区切りだし、定期的な休憩は能率を上げていると信じていたが、いざ煙草を吸わないようになると、そのような休憩は、自分には一切不要だということが判…

はてなとInternet Explorer 7

Internet Explorer 7におけるβの新版が出る度に、インストールしては自分の日記のレイアウトが崩れるのに腹が立ち、IE6に戻すということを繰り返しているのだが、どうやらこの問題、IE7のバグなどではなく、IE6用のDOCTYPE宣言のスイッチとCSSハックの問題ら…

Form.ActiveFormプロパティとデバッグ

以下のように、Form.ActiveFormのプロパティを判定しているコードがあったとしよう。 if ( Form.ActiveForm.ActiveControl != null) { if (!Form.ActiveForm.ActiveControl.CausesValidation) { return; } } Visual Studio 2005でこのコードを含むコードをデ…

型の爆発

.NET の「実行時型情報」は immutable かつ GC 不可能 - NyaRuRuの日記現在のCLR実装で任意の型がメモリ上から簡単にアンロードできないというのは非常に厳しい制約だ。型が属しているAppDomainをアンロードすることで、型情報もアンロードすることは出来る…

ブロックの挿入

[CTRL]+[K] -> [CTRL]+[S]何度覚えてもすぐ忘れる。困ったもんだ。

INotifyPropertyChangedインタフェースの不思議

以前の日記に何度か、このインタフェースに言及したことがある。INotifyPropertyChangedは、NET 2.0 WindowsFormsにおけるカスタムオブジェクトとコントロールの双方向データ連結に使用するインタフェースである。例として、ユーザ定義のクラスとコントロー…

INotifyPropertyChangedインタフェースの不思議 (その2)

方法 : BindingSource と INotifyPropertyChanged の各インターフェイスを使用して変更通知を発生させる 方法 : BindingSource ResetItem メソッドを使用して変更通知を発生させるこの辺の情報を総合すると、BindingSource::DataSourceプロパティに型をセッ…

NDoc2は死亡?

NDoc 2 is Officially Deadakirameiさんの日記からだが、これはショック大きい。 .NET2.0対応は日記で何度か言及してきたようにXSLの修正だけでなんとかなったが、今後のことを考えるとakirameiさんが書いているように、SandCastle等、他のツールへの移行を…

JavaWordが隔月に

JavaWorld隔月刊のお知らせ薄くなってきたのでひょっとしてと思ったのだが、やっぱりか。プログラマ向けの定期刊行書籍って、いずれ絶滅する運命なのかしらん。DDJカムバックプリーズ