get 키워드는 속성 값 또는 인덱서 요소를 반환하는 속성 또는 인덱서의 accessor 메서드를 정의합니다. 자세한 내용은 속성, 자동으로 구현된 속성및 인덱서참조하세요.
속성 get 및 set 접근자가 프라이빗 지원 필드에서 값을 설정하거나 검색하는 것 외에 다른 작업을 수행하지 않는 간단한 경우 자동으로 구현된 속성에 대한 C# 컴파일러의 지원을 활용할 수 있습니다. 다음 예제에서는 Hours 자동으로 구현된 속성으로 구현합니다.
class TimePeriod3
{
public double Hours { get; set; }
}
Important
인터페이스 속성 선언이나 부분 속성에 대한 구현 선언에는 자동으로 구현된 속성이 허용되지 않습니다. 컴파일러는 자동으로 구현된 속성과 일치하는 구문을 구현 선언이 아닌 선언 선언으로 해석합니다.
대체로 get 접근자는 앞의 예제와 마찬가지로 값을 반환하는 단일 문으로 구성됩니다.
get 접근자를 식 본문 멤버로 구현할 수 있습니다. 다음 예제에서는 get 및 set 접근자 둘 다를 식 본문 멤버로 구현합니다.
class TimePeriod2
{
private double _seconds;
public double Seconds
{
get => _seconds;
set => _seconds = value;
}
}
접근자 본문 중 하나를 구현해야 할 수 있습니다. 필드 지원 속성을 사용하면 다른 접근자를 직접 작성하는 동안 컴파일러에서 하나의 접근자를 생성할 수 있습니다. C# 14에 추가된 키워드를 사용하여 field 컴파일러 합성 지원 필드에 액세스합니다.
class TimePeriod4
{
public double Hours {
get;
set => field = (value >= 0)
? value
: throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
}
}
다음 예제에서는 get라는 속성의 set 및 Seconds 접근자를 둘 다 정의합니다.
_seconds라는 private 필드를 사용하여 속성 값을 지원합니다.
class TimePeriod
{
private double _seconds;
public double Seconds
{
get { return _seconds; }
set
{
if (value < 0)
{
throw new ArgumentOutOfRangeException(nameof(value), "The value of the time period must be non-negative.");
}
_seconds = value;
}
}
}
C# 언어 사양
자세한 내용은 C# 언어 사양을 참조하세요. 언어 사양은 C# 구문 및 사용법에 대 한 신뢰할 수 있는 소스 됩니다.
참고 항목
.NET