08/09/30 20:31:23
>>89
プロパティのことか?
強いて言うなら、変数っぽいメソッドを作るための仕様という感じかな?
C#の入門サイトで理解できなかったら、いっそうのこと他の言語のサイトも見てみると理解できることもあるかもしれない。
たとえばTextBoxでTextプロパティがあるけど、これをプロパティを使わないでやるとしたら
textbox1.SetText("hogera");
String hoge = textbox1.GetText();と書かなければならない。
もちろん
class TextBox
{
public String Text;
}
として公開してしまえばtextbox1.Text = "hogera";で書き込み読み込みができるが、
SetText(String value)
{ // ReadOnlyの時は変更禁止 (こういう処理を副作用と言う)
if (!this.ReadOnly) this.str = value;
}
というようなことはできなくなる。これをできるようにするためのものがプロパティ
public String str; // Textの実体。こんなダサイ名前をつけるのはよろしくないけど
public String Text{
get { return this.str;}
set { if (!this.ReadOnly) this.str = value;}
}
これでtextbox1.Text = "hoge"とかができるようになる。
また、副作用のないプロパティは(今後、副作用を設定するかもしれないので必要)
public String Text { get; set;}と書くことができる