신용 카드 클래스를 사용하는 주문 (집계 클래스)을 속성으로 가정합니다. 주문 상태에 따라 신용 카드 클래스 속성의 액세스 한정자를 변경하려고합니다. 예를 들어, Order state = Order.NewOrder 인 경우 신용 상태 정보를 수정할 수 있도록 허용하지만 Order state = Order.CompletedOrder 인 경우 신용 카드 속성을 설정할 수 없습니다.상태에 따라 C# 액세스 한정자
컴파일 시간과 런타임에서 확인할 수 있기를 원합니다.
내가 생각한 유일한 해결책은 동일한 상위 클래스에서 상속하는 2 개의 클래스를 만드는 것이 었습니다. 하나는 속성을 다른 하나는 설정할 수 없지만 어떤 속성은 설정 가능하고 다른 속성은 설정할 필요가있는 경우 매우 빠르게 털이 있습니다.
모든 아이디어를 매우 높이 평가합니다.
어떻게하면이 작업에 대한 컴파일 타임 솔루션을 구상하겠습니까? – jason
그는 자신의 VS 확장을 쓸 것입니다. – ChaosPandion
그래, 2 정적 클래스를 만드는 방법은 컴파일 시간을 확인하는 방법입니다. 그러나 나는 여전히 하나의 클래스를 가지며 런타임 'OperationNotAllowed'종류의 오류를 던질 것입니다. 하나의 유형에 대해 코드를 복제/동기화/유지하는 두 가지 클래스가 있습니다. – Gishu