■5554 / ) |
Re[2]: CTypeの第2引数 "Object (As Type)" |
□投稿者/ まんぼう (5回)-(2007/07/18(Wed) 10:19:02)
|
2007/07/18(Wed) 10:27:00 編集(投稿者) 2007/07/18(Wed) 10:26:48 編集(投稿者)
> If Not row(column.ToString, DataRowVersion.Current).Equals(row(column.ToString, DataRowVersion.Original)) Then > > のようにEqualsメソッドで等値比較を行えばよいかと思います。
Equalsでできました。 ちなみに勉強のためMSDNでObject.Equalsを調べたことを整理すると、(即席です)
・Isは参照が同じかどうかを比較する。 ・Equalsも規定では参照が同じか比較するが、オーバーライドすることで値が同じかどうかを比較することができる。 ・DataColumn.Equalsはオーバーライドされており、値の比較を行う。 ・従って、column(As DataColumn)変数のメソッドEqualsを使えばColumnがどんな型であっても値の比較を行ってくれる。 ・このケースではCTypeよりもEqualsの方が用途にぴったり当てはまる。
ということが分かりました。
(だから、Ctypeの第2引数には決め打ち方法しか用意されていない?)
> DataColumnのDataTypeプロパティで型は判断できないでしょうか? > #動作未検証。 やってみると、同様のコンパイルエラーが出ました。(型が定義されていません) CTypeの方法をもう少し調べてみます。
ともあれ、まどかさん、よねKENさんありがとうございます。
#訂正 オーバーライド→オーバーロード(;_;
|
|