- - PR -
項目名の文字列とインテリセンスと列挙体
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-04-03 21:38
Enumや,それに順ずるもので項目名を定義するということは
プログラム内で扱うデータの形が決まってるってことですよね? それならリフレクションに頼って性能を劣化(本当に少しずつだけど) させるよりは… 型指定したDataSetや自分でそういう型を定義したほうが素直だと思うのです。 それじゃ駄目な理由って何ですか?? そこがちょっと気になります。 | ||||||||
|
投稿日時: 2006-04-05 08:45
ふと思ったんですけど、コードスニペットを作ればOKでは?
| ||||||||
|
投稿日時: 2006-04-05 10:16
多分ですが、保証されないとイヤなんでしょうね。
コード上で <同じもの> を <自分でそのように書いて> 入れたくない。 自動でそうあって欲しい、自動であれば打ち損じもない、と神経質に考えているのでしょう。 あくまで <定数のように> 使いたいのが願いであるようですから。 もしそういう意味であれば、サンプル コードの例が悪いように思えますが。 こちらを使う場面といったら、固定文言のグループ化 (かつパターンがある) しか思いつきません。 文字列の列挙体 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-04-05 10:28
いえ十分便利です。 いろいろしていただいて、ありがとうございました。 #ちなみに、もうかっていません。 | ||||||||
|
投稿日時: 2006-04-05 10:39
そうなんです。じゃんぬねっとさんのリンク先に書いてある、まさにその通りです。 キーワードをコードに埋め込む必要が生じた場合に広く使える方法が知りたかった のです。 | ||||||||
|
投稿日時: 2006-04-05 11:16
横から失礼します。
このような場合、私はEnum.ToString()を愛用していました。(R.田中一郎さんの>>1ですね) ところがVS2005になって上記のインテリセンスに[使用しないでください]との表記が!! おそらくFlagsAttribute が適用されると戻り値が変わるのでこのような警告が出ると思うのですが合っているでしょうか?<識者の皆様 使用を控えるべき理由が他にあるのでしょうか? #てにをは修正 [ メッセージ編集済み 編集者: Yam 編集日時 2006-04-05 11:17 ] | ||||||||
|
投稿日時: 2006-04-05 12:28
Flags 属性が適用されなくとも、組み合わせた値は格納できてしまいますから、 その時点で安全であることが保証されないですね。
本質的に安全ではないからそうしているのかもしれませんね。 (文字列定数のような使い方をしていると MS が想定しているとするならばですが) メンバに対して直接、ToString しているのかどうかは、コンパイラはわからないでしょうから。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-04-05 13:45
レスありがとうございます。
うーん、FramWork1.1と比べてより安全でなくなったという訳でもないでしょうから(希望的観測w)このまま使い続けることにします。 変事があれば報告します。 |