이걸 카테고리를 어디다 해야할지 몰라서 일단 자유게시판으로 했습니다.
Record 변수를 Operator 연산자로 정의하는 법이라고 하는데
생소한 문법이라 저는 설명드리기 좀 어려울것 같고
잘아시는분이 있다면 부연 설명해주면 좋지 않을까 하고 공유해봅니다.
public record LaunchStatus
{
public static readonly LaunchStatus Green = new(0);
public static readonly LaunchStatus Red = new(1);
public int Status { get; }
private LaunchStatus(int status) => Status = status;
public static bool operator true(LaunchStatus x) => x == Green;
public static bool operator false(LaunchStatus x) => x == Red;
}
이렇게 Record 변수를 선언하고 안에 operator 를 정의합니다
이 Record는
LaunchStatus launchstatus;
launchstatus = LaunchStatus.Green;
Console.WriteLine(launchstatus.Status);
launchstatus = LaunchStatus.Red;
Console.WriteLine(launchstatus.Status);
launchstatus = LaunchStatus.Green;
Console.WriteLine(launchstatus.Status);
이렇게 정의된 Record 변수에 상수값을 넣는것에 따라

Record 값을 operator 해서 출력이 가능합니다.
뭔가 ?? 좋은 방법인것 같은데 …

뭐가 좋은지 설명하기가 힘들군요 …
마찬가지로 원 출처에서도
이분도 이게 필요할까? 의문을 표시합니다.
원작자분은 JS,TS 스타일이고 이런것이 가능하다 소개정도 하시는것 같습니다.
고정된 정의된 Input 에 따라 Record output 변수를 연산을 해서 변환 시킬수 있을것 같은데
…



