C# 13: partial 속성과 partial 인덱서 지원
C# 13에서부터 partial class 혹은 partial struct 안에서, 속성(Property)과 인덱서(Indexer)도 partial을 사용할 수 있게 되어서, partial 선언부와 구현부를 분리할 수 있게 되었다. 이 기능은 컴파일러 소스 생성기(source generator)가 다른 파일에서 구현을 채워 넣는 시나리오에 특히 유용하다.
예제
// File: PersonSpec.cs
public partial class Person
{
public partial string Name { get; set; } // 선언(구현 없음)
}
// File: PersonBody.cs
public partial class Person
{
private string _name = "";
public partial string Name // 구현
{
get => _name;
set => _name = value;
}
}
public partial class Person
{
public partial string Name { get; set; } // 선언(구현 없음)
}
// File: PersonBody.cs
public partial class Person
{
private string _name = "";
public partial string Name // 구현
{
get => _name;
set => _name = value;
}
}