값을 FilePatternMatch.Stem 가져오는 속성이 null 허용 PatternTestResult.Stem 이므로 이전에 이 속성에 nullable로 주석을 추가했습니다.
PatternTestResult 결과가 성공하지 못하면 실제로 null일 수 있지만 성공한 FilePatternMatch 경우에만 생성 PatternTestResult 되기 때문입니다.
null 허용 가능성을 [MemberNotNullWhen()] 정확하게 반영하기 위해 속성이 속성에 PatternTestResult.Stem 적용되어 성공하면 컴파일러에 null이 되지 않도록 알릴 수 있습니다.
stem 또한 생성자에 전달된 FilePatternMatch 인수는 더 이상 null을 허용하지 않으며 ArgumentNullException null stem 이 전달되면 throw됩니다.
도입된 버전
.NET 10
이전 동작
FilePatternMatch 생성자는 이전에 stem 매개 변수에 대해 컴파일 시간이나 런타임 경고 또는 오류 없이 null를 허용했습니다.
// Allowed in previous versions.
var match = new FilePatternMatch("path/to/file.txt", null);
이 FilePatternMatch.Stem 속성은 null 허용으로 주석이 추가되었습니다.
새 동작
.NET 10부터 생성자의 인수에 null null 값을 stem 전달 FilePatternMatch 하면 컴파일 시간 경고가 생성됩니다.
null이 전달되는 경우에는, 런타임 ArgumentNullException이 던져집니다.
FilePatternMatch.Stem 이제 속성에 주석이 추가되어 값이 null이 아니면 null IsSuccessfultrue이 되지 않음을 나타냅니다.
// Generates compile-time warning.
var match = new FilePatternMatch("path/to/file.txt", null);
파괴적 변경 유형
이 변경 내용은 원본 호환성에 영향을 줄 수 있으며 동작 변경입니다.
변경 이유
이전 null 허용 여부 주석은 정확하지 않았으며 null 인수 값 stem 은 예기치 않았지만 제대로 보호되지 않았습니다. 이 변경은 API의 예상 동작을 반영하고 예기치 않은 동작을 방지하는 동시에 사용량에 대한 디자인 타임 지침을 생성합니다.
권장 작업
인수에 대해 null 값이 전달되었을 stem 수 있는 경우 사용량을 검토하고 호출 사이트를 업데이트하여 로 patssedstem할 수 없도록 null 합니다.
속성을 사용할 때 Null 허용 여부 경고 표시를 적용한 FilePatternMatch.Stem 경우 해당 억제를 제거할 수 있습니다.
영향을 받는 API
.NET