Class Guard
- Namespace
- Framework.Systems.Diagnostics.Assertions
- Assembly
- Assembly-CSharp.dll
인자 유효성 검사 static 유틸. 사전 조건 위반 시 즉시 예외로 빠른 실패 보장.
public static class Guard
- Inheritance
-
objectGuard
Examples
public void Load(string key, IAssetSystem assetSystem)
{
Guard.NotEmpty(key, nameof(key));
Guard.NotNull(assetSystem, nameof(assetSystem));
Guard.InRange(slotIndex, 0, 3, nameof(slotIndex));
}
Remarks
메서드 진입 시점에 호출해 잘못된 인자를 조기에 탐지한다. 프로덕션 빌드에서도 활성화된다.
Methods
InRange(int, int, int, string)
정수 범위 검사. 실패 시 ArgumentOutOfRangeException.
public static void InRange(int value, int min, int max, string paramName)
Parameters
valueint검사할 값.
minint최솟값 (포함).
maxint최댓값 (포함).
paramNamestring파라미터 이름.
Exceptions
- ArgumentOutOfRangeException
범위를 벗어났을 때.
NotEmpty(string, string)
빈 문자열 검사. 실패 시 ArgumentException.
public static void NotEmpty(string value, string paramName)
Parameters
valuestring검사할 문자열.
paramNamestring파라미터 이름.
Exceptions
- ArgumentException
null 또는 공백일 때.
NotNull<T>(T, string)
null 검사. 실패 시 ArgumentNullException.
public static void NotNull<T>(T value, string paramName) where T : class
Parameters
valueT검사할 값.
paramNamestring파라미터 이름 (nameof() 사용 권장).
Type Parameters
T검사 대상 타입.
Exceptions
- ArgumentNullException
value가 null일 때.