2009-07-22 3 views
2

나는자동 속성에 대한 올바른 구문입니까?

그것이 정말 좋아

public string LocaleName 
    { 
     get; 
     set; 
    } 

내부를 필요로하지 .NET v2를 한 후 다음과 같은 속성을 설정하는 것입니다 ... 때로는 언어의 변화를 따라 가지 너무 오래 하드에 대한 프로그래밍 봤는데 들? 컴파일러가 요즘 돌봐 줄 것 같니?

+0

설치 한 C# 버전을 묻는 질문을 반영하도록 질문을 변경할 수 있습니다. – Kredns

+0

이 맞고 필요에 따라 각각의 접근을 제한 할 수 있습니다. 공용 문자열 LocaleNam {get; 개인 집합;} –

답변

10

네, 그것은으로 당신이 어떤 값이 올바른 방법으로 설정되어 있는지 확인 할 필요가 없기 때문에 괜찮습니다 C#을 3.0

+0

그래서 나는 C# v3에서 프로그래밍 중이지만 .net v2 프레임 워크를 사용하고 있습니까? –

+1

@JL, 네, 특정 프레임 워크 버전이 필요없는 * C# * 기능입니다. :) –

+2

Visual Studio 2008에서는 컴파일러 기능이 더 많이 사용됩니다. VS2005를 .NET 3.0 확장과 함께 사용하는 경우에는이 기능을 사용할 수 없습니다. –

1

예, 이들은 'auto implemented properties'입니다. 컴파일러는 여러분의 속성에 대한 백킹 필드를 생성합니다.

'자동 구현 된 속성'은 'C# compiler trick'이므로 코드를 컴파일하기 위해 C# 3.0 컴파일러를 사용하는 한 .NET Framework 2.0을 대상으로 사용할 수 있습니다.

0

예. C# 3.0 이상에서 자동 구현 속성은 속성 접근자가 추가 논리가 필요하지 않을 때 속성 선언을보다 간결하게 만듭니다. 또한 클라이언트 코드에서 객체를 만들 수 있습니다. 다음 예제와 같이 속성을 선언하면 컴파일러에서 비공개 익명 배킹 필드를 만들고 속성의 get 및 set 접근자를 통해서만 액세스 할 수 있습니다. 당신에게 공개 접근하지만 개인 세터를 제공

public string MyString 
{ 
    get; 
    private set; 
} 

: 그냥 알다시피

3

, 당신이 뭔가를 할 수 있습니다.

관련 문제