У меня есть класс, который я использую для определения типов, подобных этому
public class TypeSpec
{
// String specifications
public int? maxLength {get; set;} = null;
public int? minLength {get; set;} = null;
// int specifications
public int? maxInteger {get; set;} = null;
public int? minInteger {get; set;} = null;
}
TypeSpec typeInitialString = new TypeSpec()
{
maxLength = 10;
minLength = 0;
}
TypeSpec typeUpdatedString = new TypeSpec()
{
maxLength = 10;
minLength = 5;
maxInteger = 0;
}
Как проверить, имеет ли TypeSecond
MaxInteger по-прежнему в качестве null
, и вызвать false, гарантируя, что значения изменяются здесь только maxLength и MinLength от 0-10 до 5-10?
Я хочу изменить исходные критерии типа, которые я установил с помощью typeInitialString
с помощью typeUpdatedString
.., но перед этим мне нужно проверить, действительно ли спецификация не содержит спецификации для других типов, таких как целое число? поскольку typeInitialString используется только для строк, и ничто иное
выполнение обычного равенства не будет выполнено, так как значения могут отличаться, я хочу избежать того, чтобы переменные-члены, которые ранее были нулевыми, все еще равны нулю в обновленной версии.