> 백엔드 개발 > C++ > C#에서 문자열 변환을 위한 신뢰할 수 있는 일반 'TryParse' 유틸리티를 어떻게 만들 수 있습니까?

C#에서 문자열 변환을 위한 신뢰할 수 있는 일반 'TryParse' 유틸리티를 어떻게 만들 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2024-12-30 18:40:16
원래의
136명이 탐색했습니다.

How Can I Create a Reliable Generic

일반 'TryParse' 유틸리티

문자열 변환을 검증하는 편리한 유틸리티를 만들려는 시도에서 개발자가 'TryParse'를 사용할 때 컴파일 오류가 발생했습니다. 이 오류는 어떤 인터페이스나 기본 클래스에도 'TryParse'가 정의되어 있지 않기 때문에 발생했습니다.

이를 극복하기 위해 개발자들은 대체 방법을 모색했습니다. 한 가지 접근 방식은 TypeDescriptor와 해당 'TryParse' 기능을 활용하는 것을 제안했습니다. 그러나 이 구현은 예외 처리에 의존했기 때문에 신뢰성에 대한 우려가 제기되었습니다.

이러한 문제를 해결하기 위해 일반 'TryParse' 유틸리티의 수정된 버전이 도입되었습니다.

public static bool Is(this string input, Type targetType)
{
    try
    {
        TypeDescriptor.GetConverter(targetType).ConvertFromString(input);
        return true;
    }
    catch
    {
        return false;
    }
}
로그인 후 복사

이것은 수정된 코드는 제네릭에 대한 의존성을 제거하고 대신 명시적으로 검증할 유형을 전달합니다. 'ConvertFromString' 메소드를 활용하여 입력 문자열을 지정된 유형으로 변환하려고 시도합니다. 변환 중에 발생한 예외는 유효성 검사 실패로 해석되어 부울 'false' 반환이 발생합니다.

TypeDescriptor의 변환 기능을 활용하여 개정된 이 'TryParse' 유틸리티는 문자열 변환을 검증하기 위한 안정적이고 유연한 메커니즘을 제공합니다. 예외 기반 구현의 함정

위 내용은 C#에서 문자열 변환을 위한 신뢰할 수 있는 일반 'TryParse' 유틸리티를 어떻게 만들 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿