累計
本日
昨日

型情報を使ってプログラミングすると拡張性や保守性が良くなる場合がある

次のコードは、DataGridViewの列の型情報を判別して、チェックボックスである場合に読み取り専用をはずす例である。
このようにしておくと、DataGridViewの列の順番を入れ替えたり、チェックボックスの列が追加されても、必ずチェックボックスの列は読み取り専用ではなくなる。


ポイントは、、typeof(type)、GetType()メソッドである。
前者は、文字列から型を取得する。typeはクラス、インターフェイスの名前である。
後者は、インスタンスの型情報を取得する。そして、型を比較する際は、TypeクラスのメソッドEqualsを使う。

開発時はどの列がチェックボックスか分かっているんだから、次のように読み取り専用をはずすコードを書けばいいじゃないかと反論が聞こえてきそうである。しかし、このように書くと上で述べたように列の順番が入れ替わったり、列が追加になると、このコードも直す必要があり、修正漏れが発生しやすくなる。

トラックバック

トラックバックURL:
http://www.apricot-jp.com/cgi/mt/mt-tb.cgi/258

関連情報

Copyright(C) 2007 アーキテクト360 Allrights reserved.