나는 이것을하고 싶다 :
public Name
{
get;
set
{
dosomething();
??? = value
}
}
자동 생성 된 비공개 필드를 사용할 수 있습니까?
또는 다음과 같이 구현해야합니까?
private string name;
public string Name
{
get
{
return name;
}
set
{
dosomething();
name = value
}
}
답변
getter 또는 setter에서 사용자 정의를 수행하려면 더 이상 자동 속성을 사용할 수 없습니다.
답변
다음과 같이 시도 할 수 있습니다.
public string Name { get; private set; }
public void SetName(string value)
{
DoSomething();
this.Name = value;
}
답변
이건 불가능 해. 자동 구현 속성 또는 사용자 지정 코드입니다.
답변
C # 7부터는 속성 get
및 set
접근 자에 대한 식 본문 정의를 사용할 수 있습니다 .
private string _name;
public string Name
{
get => _name;
set
{
DoSomething();
_name = value;
}
}
답변
시나리오에 따라 완전히 구현해야합니다. get
및 둘 다 set
자동 구현되거나 둘의 조합이 아니라 함께 완전히 구현되어야합니다.