- PR -

ASP.Net2.0 Session.ItemとSessionの違いは?

1
投稿者投稿内容
rmmug
大ベテラン
会議室デビュー日: 2006/03/07
投稿数: 116
投稿日時: 2007-09-18 16:16
こんな質問で失礼します。
情報を引き継ぐ際に使用する、Sessionについてですが、
Session.Item("XXX")とSession("XXX")では、何か違うのでしょうか。
調べはしたのですが、いまいち・・・
VBとC#の違いではないと思いますが、・・・
よこけん
大ベテラン
会議室デビュー日: 2006/01/31
投稿数: 216
投稿日時: 2007-09-18 16:24
インデクサですね。
Session.Item("XXX")とSession("XXX")の違いはありません。全く同じです。

インデクサは既定でItemという名前のプロパティになります。(確か属性を使って、Item以外にすることもできた気がします。)
VBは詳しくないのですが、両方の形式で使用できるということなんですね。C#だとインデクサにはSession["XXX"]という書き方でしかアクセスできません。

_________________
C#と諸々
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-09-18 16:48
引用:

fjdssklさんの書き込み (2007-09-18 16:16) より:

Session.Item("XXX")とSession("XXX")では、何か違うのでしょうか。
VBとC#の違いではないと思いますが、・・・

MSDN ライブラリを参照するならばこのあたりです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
よこけん
大ベテラン
会議室デビュー日: 2006/01/31
投稿数: 216
投稿日時: 2007-09-18 17:41
引用:
じゃんぬねっとさんの書き込み (2007-09-18 16:48) より:




VBだとインデクサとは呼ばないんですね。
しかも、VBの既定のプロパティでは属性を使わずに任意の名前を付けれるんですね。

そういえば、言語によってはItem以外の名前が付けれる(+インデクサでないItemというプロパティを定義できる)から、
C#でも(名前によるアクセスは利用できないのに)属性によってItem以外の名前を付けれるようになってるんでしたっけ。(うろ覚えです^^;


_________________
C#と諸々

[ メッセージ編集済み 編集者: よこけん 編集日時 2007-09-18 17:43 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-09-18 17:47
引用:

よこけんさんの書き込み (2007-09-18 17:41) より:

そういえば、言語によってはItem以外の名前が付けれる(+インデクサでないItemというプロパティを定義できる)から、C#でも(名前によるアクセスは利用できないのに)属性によってItem以外の名前を付けれるようになってるんでしたっけ。(うろ覚えです^^;


そのとおりです。 IndexerNameAttribute クラス (属性) を使えばおkですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
よこけん
大ベテラン
会議室デビュー日: 2006/01/31
投稿数: 216
投稿日時: 2007-09-18 19:57
じゃんぬねっとさん、返答して頂きありがとうございます。

うろ覚えでしたが、間違ってなかったようで良かったです^^;

> IndexerNameAttribute

すっかり忘れてました、というよりまるで初めて聞いたかのような感覚です(笑)

_________________
C#と諸々
rmmug
大ベテラン
会議室デビュー日: 2006/03/07
投稿数: 116
投稿日時: 2007-09-19 13:43
よこけん様、じゃんぬねっと様 有難うございます。

「インデクサ」「プロパティ」についての知識が無く

お二人の話について行くのが難しいです〜

勉強してみます。
1

スキルアップ/キャリアアップ(JOB@IT)