리플렉션 속성 설정의 기본값과 동일
Reflection을 통해 객체 속성을 조작할 때에는 데이터 유형별로 기본값을 설정해야 합니다. 이 기사에서는 각 유형의 기본값을 수동으로 처리하는 대신 이 프로세스를 단순화하는 프로그래밍 대안을 살펴봅니다.
질문:
이 질문은 유형별 기본 키워드를 명시적으로 사용하지 않고 반사 루프 중에 속성에 기본값을 할당하는 프로그래밍 방식을 모색합니다.
정답:
두 가지 솔루션이 제공됩니다:
값 유형:
Activator.CreateInstance
을 사용하세요. 참조 유형:
null
를 기본값인 null
으로 반환하면 됩니다. 코드 예:
다음 코드 조각은 이 솔루션의 구현을 보여줍니다.
<code class="language-csharp">public static object GetDefault(Type type) { if (type.GetTypeInfo().IsValueType) { return Activator.CreateInstance(type); } return null; }</code>
참고:
최신 버전의 .NET(예: .NET Standard)과의 호환성을 위해 type.IsValueType
를 type.GetTypeInfo().IsValueType
으로 바꿔야 합니다.
위 내용은 리플렉션 중에 속성의 기본값을 프로그래밍 방식으로 설정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!