RealProxyが悩ましい

アスペクト指向のアプローチが向いている要件があって、調査中。.NETで用意されているRealProxyを使えば実現可能かと思われましたが、落とし穴があって中断中。

現時点での理解では、RealProxyを使ってメソッドに介入できるのは別クラス間の呼び出しのみで、同クラスのPrivateメソッドでは、それが効かない。このためだけに下請けクラスを作るという案もあるが、そこまで踏み切れない。

 

ApplicationSettingsBaseが悩ましい

アプリケーションの設定を保存したい要件があって調査しました。
.NET Frameworkで用意されているApplicationSettingsBaseクラスが使えそうですが、いくつか難点があります。このままでは自作になりそう。

  • 複数のアプリケーションで一つの設定情報を使いたい。もちろん単なるXMLとしてなら、複数アプリからでも読み書きは可能だが、それではあんまり。
  • 設定ファイルの場所を自由に変えたい。中身を直に加工することもあり得る。
  • 「Update」メソッドが期待より非力。結局はバージョン管理は自前でやることになりそう。

文字列を日付にする

DateTime.ParseExact("2008/06/01 20:21:04", "yyyy/MM/dd HH:mm:ss", null);

第2パラメータ
yyyy:4けたの年
yy:0埋め2けたの年
MM:0埋め2けたの月
dd:0埋め2けたの日
HH:0埋め2けたの時間(24時間表記)
hh:0埋め2けたの時間(12時間表記)
mm:0埋め2けたの分
ss:0埋め2けたの秒

第3パラメータ
本来はカルチャ固有の書式情報を提供するIFormatProviderオブジェクトを指定する。null指定はデフォルトのカルチャ情報となるので、通常はこれで良い。