문제

ASP.NET 3.5에서 C#의 속성을 선언 할 수있는 방법에 대해 읽었습니다.

public DateTime DisplayDate
{
     get;
}

대신에

private DateTime _displayDate
public DateTime DisplayDate
{
     get {return _displayDate;}
}

이 게시물이 설명합니다.

내 질문은 수업 내에서 개인 변수에 어떻게 액세스합니까?

예를 들어이 대신

public MyClass(DateTime myDisplayDate)
{ _displayDate = myDisplayDate; }

무엇을 할당해야합니까? 공공 재산입니까?

public MyClass(DateTime myDisplayDate)
{ DisplayDate = myDisplayDate; }

이 올바른지?

도움이 되었습니까?

해결책

public DateTime DisplayDate
{
     get; private set;
}

public MyClass(DateTime myDisplayDate)
{ 
    this.DisplayDate = myDisplayDate; 
}

다른 팁

이와 같은 자동 속성 (ASP.NET에 제한되지 않음)이 있으므로 개인 분야를 처리 할 필요가 없습니다. 속성 값을 설정하려면 속성 자체를 사용하고 개인 세터를 추가하십시오 (따라서 클래스 만 설정할 수 있습니다).

public DateTime DisplayDate
{
    get; 
    private set;
}

C# 3.0 자동 속성으로 Getter와 Setter를 항상 선언해야합니다. 다른 답변을 참조하십시오. 트릭은 세터를 비공개로 표시하는 것입니다.

public Foo { get; private set; }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top