Table of Contents

Class Guard

Namespace
Framework.Systems.Diagnostics.Assertions
Assembly
Assembly-CSharp.dll

인자 유효성 검사 static 유틸. 사전 조건 위반 시 즉시 예외로 빠른 실패 보장.

public static class Guard
Inheritance
object
Guard

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

value int

검사할 값.

min int

최솟값 (포함).

max int

최댓값 (포함).

paramName string

파라미터 이름.

Exceptions

ArgumentOutOfRangeException

범위를 벗어났을 때.

NotEmpty(string, string)

빈 문자열 검사. 실패 시 ArgumentException.

public static void NotEmpty(string value, string paramName)

Parameters

value string

검사할 문자열.

paramName string

파라미터 이름.

Exceptions

ArgumentException

null 또는 공백일 때.

NotNull<T>(T, string)

null 검사. 실패 시 ArgumentNullException.

public static void NotNull<T>(T value, string paramName) where T : class

Parameters

value T

검사할 값.

paramName string

파라미터 이름 (nameof() 사용 권장).

Type Parameters

T

검사 대상 타입.

Exceptions

ArgumentNullException

value가 null일 때.