- PR -

デフォルトのクラスのプロパティの指定方法

1
投稿者投稿内容
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2005-11-14 19:28
一覧.Item(1)



一覧(1)

と省略しても書けます。
これは、プロパティ名を省略した場合、Itemプロパティを指すようにクラス側で指定されているからだと想像できます。

自作したクラスで、同じことをしたいのですが、どうやって指定すれば良いのか「クラス、省略、プロパティ」でぐぐっても見つかりません。
どなたか、教えていただけないでしょうか。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-14 19:41
コードから察するに VB でしょうか?
VB ならば、Default プロパティになります。

コード:

    Public ReadOnly Default Property Item(ByVal index As Integer) As HogeItem
        Get
            Return _Items(index)
        End Get
    End Property



C# は、「インデクサ」などで検索すると良いでしょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2005-11-14 19:46
こんにちは。

蛇足ですが。

VB はじゃんぬねっとさんの仰った通り。
C# はインデクサを定義すると Item という名前に勝手になります。

・・・が!String.Chars みたいな名前のインデクサを C# ではどう定義するのか。
IndexerNameAttribute らしいです。
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2005-11-15 09:32
>VB ならば、Default プロパティになります。

ありがとうございました。
VB6の時は、直接コードに記述できなかったデフォルトプロパティでしたが、.net では、こんな書き方ができるようになったのですね。

>・・・が!String.Chars みたいな名前のインデクサを C# ではどう定義するのか。
>IndexerNameAttribute らしいです。

C# も同時に使用しています。
C# で書くとき、上記の件を知らないと苦労しそうですね。
ありがとうございました。
1

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