masayan
2006-05-11 03:36:02 UTC
始めまして、masayanと申します。
C#初心者ですが、いきなりユーザアプリ組んでいます。
ところで、C#のいろんな本を紐解いても、なかなか答えが得られず
悩んでいます。
C#の文法上、以下のようなプロパティ宣言は許されるものか。
private int [] iData = new int[5];
public int [] IntData
{
set{ iData = value; }
get{ return iData; }
}
ちなみに、VisualStudio2003で試してみましたが、
見かけ上、期待どおりの動作します。
しかしながら、デバッグすると実際にはsetに飛んできません。
IntData[1] = 10;
int iX = IntData[1];
とかして、トレースするとどちらの行も、getに飛んできます。
こういった使い方がそもそもしてはいけないことなのか
これはこれで、このとおりなのかが不明です。
ご存知の方がおられたらご教授願います。
本来ならインデクサを使うべきとは思いますが、
この方が簡単で便利なように思いますが、いかがなものでしょう。
C#初心者ですが、いきなりユーザアプリ組んでいます。
ところで、C#のいろんな本を紐解いても、なかなか答えが得られず
悩んでいます。
C#の文法上、以下のようなプロパティ宣言は許されるものか。
private int [] iData = new int[5];
public int [] IntData
{
set{ iData = value; }
get{ return iData; }
}
ちなみに、VisualStudio2003で試してみましたが、
見かけ上、期待どおりの動作します。
しかしながら、デバッグすると実際にはsetに飛んできません。
IntData[1] = 10;
int iX = IntData[1];
とかして、トレースするとどちらの行も、getに飛んできます。
こういった使い方がそもそもしてはいけないことなのか
これはこれで、このとおりなのかが不明です。
ご存知の方がおられたらご教授願います。
本来ならインデクサを使うべきとは思いますが、
この方が簡単で便利なように思いますが、いかがなものでしょう。