1

こんにちは、最近 C# を学び始めたので、プロパティに関していくつか質問があります。私がこの声明を持っているとしましょう:

private int minAge { get; set; }

これは次のように翻訳されますか?

private int minAge

public int MinAge
{
    get { return this.minAge; }
    set { this.minAge = Convert.ToInt16(TextBox1.Text); } //this is what I would like                     to set the field to
}

ボタンがあり、そのボタンを押すと minAge フィールドを設定し、その後データを返す必要があるとしましょう。どうすればこれを達成できますか?

私はこれを試しましたが、うまくいかないようです:

   minAge.get //to return data
   minAge.set =  Convert.ToInt16(TextBox1.Text); //to set the data
4

6 に答える 6

2

クラス内でプロパティを定義し、プロパティを取得および設定するには、クラス インスタンスを使用する必要があります。

YourClass objYourClass = new objYourClass;
int minAge= objYourClass.MinAge; //To get

objYourClass.MinAge =Convert.ToInt16(TextBox1.Text); //o set the property
于 2012-10-07T10:04:49.070 に答える
2

次の方法でプロパティを設定できます。

minAge = 10;

プロパティを取得するには、次のことができます。

int age = minAge; // retrieves the age via the minAge property

これは、このプロパティが定義されている内部にある必要があることに注意してくださいClass。 オブジェクトの minAge の値を設定しようとしている場合は、次のようにします。

var obj = new YourClass(); 

obj.minAge = 100; // sets minAge to 100

int minAge = obj.minAge; // Assigns the minAge variable to that of `obj` minAge value.

の違い

 public int minAge { get; set; }

と:

 private int minAge

public int MinAge
{
   get { return this.minAge; }
   set { this.minAge = Convert.ToInt16(TextBox1.Text); } //this is what I would like                     to set the field to

}

MinAge はMinAge、最新バージョンの .NET フレームワーク (4+) を使用している場合は不要になったバッキング プロパティを使用します。

于 2012-10-07T10:06:08.287 に答える
1

プロパティの set と get は、下線メンバーと同じ型です...

private int minAge

public int MinAge
{
    get { return this.minAge; }
    set { this.minAge = value } //"value" is of type int
}
于 2012-10-07T10:05:09.520 に答える
1

あなたがすることは、あなたの財産を公開することです:

 public int minAge { get; set; }

次に、get と set に (暗黙的に) 使用できます。

 int age = minAge; //to return data
 minAge =  Convert.ToInt32(TextBox1.Text); //to set the data
于 2012-10-07T10:06:02.967 に答える
1

C# でプロパティを設定する場合、get と set にアクセスする必要はなく、自動的に行われます。

// Get
int age = this.MinAge;

// Set
this.MinAge = Convert.ToInt16(TextBox1.Text);

次のようなプロパティを作成できます。

private int _minAge

public int MinAge
{
    get { return _minAge; }
    set { _minAge = value; }
}

または、.NET 3.5 以降を使用している場合は、次のように簡単に使用できます。

public int MinAge
{
    get;
    set;
}

アンダーリング型は、コンパイラによって自動的に作成されます。

于 2012-10-07T10:08:34.177 に答える
1

実際

public int MinAge { get; set; }

コンパイラによって次のようなものに変換されます

private int minAge_backfield;

public int MinAge 
{
get { return minAge__backingField;} 
set { minAge__backingField = value;}
}

これは C# では自動プロパティと呼ばれ、その使用方法は単純です。

var val = MinAge; 

また

MinAge = 10;

これについてブログ記事を書きました。

于 2012-10-07T10:10:50.250 に答える