5

C# とそれに類する言語では、常に

public string SomeString { get; set;}

しかし、あなたも使うことができます(私は最近、コンパイラをいじっているときにこれを見つけました)

public string SomeString { set; get; }

私はプログラミングの正式なトレーニングを受けておらず、すべて独学です。私たちが使用{ get; set; }するのと同じように、私は何も考えずに使用してきました それは単なる慣例1 + 1 = 2の順序ですか、それともこの順序を維持する必要があるのですか、それとも正から{ get; set; }実際には逆の場合はマイナス端子ですか?

4

7 に答える 7

8

これは純粋に規約です。それらがどの順序で表示されても違いはありません。

于 2013-10-14T11:28:54.970 に答える
2

違いはありません。

C# 言語仕様http://msdn.microsoft.com/en-us/library/ms228593.aspxによると、10.7.2 アクセサー (324 ページ)

プロパティのアクセサ宣言は、そのプロパティの読み取りと書き込みに関連付けられた実行可能なステートメントを指定します。

アクセサー宣言:

get-accessor-declaration   set-accessor-declaration
set-accessor-declaration   get-accessor-declaration

示されているように、どちらの順序でも同じ効果があると述べています

于 2013-10-14T12:14:17.710 に答える
2

内部的に Get と Set はこのようなメソッドです

private PropertyType Get() {}
private Set(value as PropertyType) {} 

メソッドの宣言の順序は重要ではないため、同じケースがここに当てはまります。

MSDN:

get アクセサーの本体は、メソッドの本体と似ています。プロパティ タイプの値を返す必要があります。


set アクセサーは、void を返すメソッドに似ています。これは value と呼ばれる暗黙的なパラメーターを使用します。その型はプロパティの型です。

于 2013-10-14T12:46:43.570 に答える