myugaruの色々構想中・・・!

「C#」「画像処理」「XNA未対応PCでゲームIDE作りの無謀な野望」

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  98  : 記事  0  : コメント  2342  : トラックバック  59

ニュース

myugaru
仕事(昔)=ヲタク系プログラマー~マスコミ系サポートデスク
仕事(今)=電子機器系サービス業
趣味a=パズルゲーム全般、シューティングは主に見学
趣味b=画像処理関係の勉強
趣味c=プログラミング言語の勉強
趣味d=アキバ系ヲタク
趣味e=芸能アイドル系ヲタク
d,e色の強いもう一つのブログ
最新目標=シューティングゲームを作る

わんくまりんく

わんくま同盟blog C#,VB.NET掲示板

ぶろぐつーる

あわせて読みたい

はてなりんぐ

書庫

日記カテゴリ

ギャラリ

お友達

リンク

 C#のインデクサはコンパイルするとItemという識別子で実装される。つまり名前が衝突する箇所に別のItemがあるとコンパイルエラーになる。しかしエラーメッセージはそんな状況を親切丁寧には説明はしてくれない。

 下線位置はthisである。そしてclass Aどこをどう見てもItemという識別子はintの定義一つだけである。どうして匿名メソッドようにユーザーが絶対に定義できないような暗号のような識別子を生成しないのだろう?

 これはまあ想像するしかないのだが、私が昔まだVB6をいじっていた頃、そういえばデフォルトのインデクサ的プロパティは必ずItemだった。なのでMicrosoft的におよそデフォルトのインデクサはItemという識別子で統一するという決まりがあるのだろう。とりあえず2年以上C#やってて今日初めてこれを知った。結構知らない人は多いんじゃないかと思った。

投稿日時 : 2008年3月4日 22:30

コメント

# re: [C#]インデクサを定義するとItemという識別子が使われる 2008/03/04 23:05 囚人
>どうして匿名メソッドようにユーザーが絶対に定義できないような暗号のような識別子を生成しないのだろう?

インデクサがない言語が困るからかな。

IndexerNameAttribute で名前も変えれます(使ったことないけど)。

# re: [C#]インデクサを定義するとItemという識別子が使われる 2008/03/04 23:30 THREE-ONE
String なんかは Chars に変えてますね<インデクサの名前

# re: [C#]インデクサを定義するとItemという識別子が使われる 2008/03/05 1:13 シャノン
プロパティに対して get_プロパティ名 set_プロパティ名 ってのもバッティングしますよ。

# re: [C#]インデクサを定義するとItemという識別子が使われる 2008/03/05 10:19 myugaru
みなさん本当に色々ご存知で助かります^^

To 囚人さん
IndexerNameAttributeですね、あとで調べます。
ありがとうございます。

To THREE-ONEさん
Charsですね、知らなかったです後で調べます。
ありがとうございます。

To シャノンさん
get_プロパティ名 set_プロパティ名ですね、これも知らなかったです後で調べます。
ありがとうございます。



# AkZtuSRxnYuh 2014/08/05 5:54 http://crorkz.com/
yHIDNm I really like and appreciate your post.Thanks Again. Great.

Post Feedback

タイトル
名前
Url:
コメント