사용자 지정 도우미를 사용하여 인수 유효성 검사를 단순화하려면 다음과 같이하십시오.사용자 지정 인수 유효성 검사 도우미를 사용하면 코드 분석이 중단됩니다.
public static void ThrowIfNull(this object value, string parameterName)
{
if (value == null)
{
throw new ArgumentNullException(parameterName);
}
}
그러나 물론 정적 코드 분석 내가이 도우미를 사용하는 경우 공공 방법에서 입력의 유효성을 검사 할 것을 알고하지 않기 때문에 그것은 나에게 검증되지 않은 공용 메서드 인수에 대한 CA1062
오류를 제공합니다.
특히 문제는 this one입니다.
이 도우미가 인수 null 유효성 검사를 처리하는 코드 분석기를 가르치는 방법이 있습니까? 이 문제에 대한 적절한 해결책은 무엇입니까?
이[AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = false)]
public sealed class ValidatedNotNullAttribute : Attribute {}
그런 다음 유효성을 검사 인수에 적용 :
public static void ThrowIfNull([ValidatedNotNull] this object value, string parameterName)
{
if (value == null)
{
throw new ArgumentNullException(parameterName);
}
}
을 그리고 경고 멀리 가야
@DipenShah 아주 쉽게. 시도해보십시오 :'try { string s = null; s.ThrowIfNull ("s"); } catch (예외 ex) {/ * 여기에 중단 점을 설정하십시오 */ } –
어떤 종류의 코드 분석가입니까? 많이있다. – Evk
@Ed Plunkett 흥미롭고, 좋은 점도 알고 있습니다! –