public class BloodPressure {
public Int16? Diastolic { get; set; }
private Boolean IsValid {
get {
var valid = false;
if (this.Diastolic.HasValue && this.Systolic.HasValue) {
if ((this.Diastolic.Value >= 0) && (this.Systolic.Value >= 0)) {
valid = true;
}
}
return (valid);
}
}
public Int16? Systolic { get; set; }
public override String ToString() {
var result = "";
if (this.IsValid) {
result = this.Systolic.Value.ToString("0") + "/" + this.Diastolic.Value.ToString("0");
}
else {
result = null;
}
return (result);
}
}
이 ReSharper에서 약 불평 라인입니다. ReSharper는 그것을보고 있지 않습니까, 아니면 다른 것에 대해 불평합니까?ReSharper에서 가능한 InvalidOperationException이
흥미롭게도,이 부분에 문제가되지 않습니다 물건의
if ((this.Diastolic.Value >= 0) && (this.Systolic.Value >= 0)) {
valid = true;
}
값을 조작하기 전에 IsNotNull(), IsValid()와 같은 유효성 검사 메서드를 호출하는 경우가 자주 있습니다. Resharper는 주석 속성 (예 : NotNull)에 대한 탁월한 개념을 가지고 있습니다. Jetbrains이 더 나아가 EnsuresNotNull ("paramName"), EnsuresNotNull ("propertyName"), EnsuresNotNull ("fieldName")과 같은 것들을 구현하는 것이 좋은 아이디어 일 것입니다. 이것은 –