Как изменить метод получения и установки, чтобы обработать исключение нулевой ссылки

Я анализирую строку JSON и десериализую ее. Теперь работает нормально, но у меня проблема с обработкой значения, которое является пустой строкой или нулем.

Эти свойства имеют 2 значения (например, ссылка и значение). Обычно. Но может случиться так, что свойство, которое я прочитал, имеет значение NULL (поэтому нет ссылки и нет значения).

Я написал геттер и сеттер, как это.

private ResolvedBy myVar1;
public ResolvedBy resolved_by
{
 get
 {
  if (myVar1 == null)
  {
  myVar1 = new ResolvedBy();
  return myVar1;
  }
  // if (String.IsNullOrWhiteSpace(myVar1.link) && String.IsNullOrWhiteSpace(myVar1.value))
  if (myVar1.ToString() == String.Empty)
  {
  myVar1 = new ResolvedBy();
  return myVar1;
 }
 return myVar1;
}
set { myVar1 = value; }

}

и класс имеет следующий код

public class ResolvedBy //
{
public string link { get; set; }
public string value { get; set; }
}

Если я теперь создаю экземпляр объекта с использованием нового модификатора, ссылка и значение также будут нулевыми. Есть ли способ заполнить ссылку и значение пустой строкой в ​​этом конкретном случае?

3 ответа

Вы могли бы дать link а также value значение по умолчанию:

public class ResolvedBy
{
    public string link { get; set; } = "";
    public string value { get; set; } = "";
}

Если я теперь создаю экземпляр объекта с использованием нового модификатора, ссылка и значение также будут нулевыми. Есть ли способ заполнить ссылку и значение пустой строкой в ​​этом конкретном случае?

Конечно

return new ResolvedBy { link = "", value = "" };

Попробуйте это сейчас, я обновил его, чтобы вернуть "", если свойство имеет значение null

class ResolvedBy
{
    string link;
string value;
    public string Link
    {
        get
        {
            return (this.link == null ? "" :this.link 
        }
        set
        {
            this.link= (value ==null ? "" : value);
        }
    }
 public string Value
    {
        get
        {
            return (this.value == null ? "" : this.value); 
        }
        set
        {

this.value =( value == null ? "" : value);
        }
    }

}
Другие вопросы по тегам