У меня есть этот метод, он работает как положено, он не вставляет <string, value>
, если строка пуста, однако у меня есть проблема, где строка не всегда существует.Я хочу избежать добавления чего-либо, если строка не существует.
public static class StringBuilderExtension
{
public static void AppendIfNotNull<TValue>(this StringBuilder sb, TValue value, string prefix)
where TValue : class
{
if (value != null)
{
sb.Append(prefix + value);
}
}
}
Проблема в том, что я всегда передаю ключ строки
sb.AppendIfNotNull(" width=\"", component.style.width + "\"");
Это будет выглядеть как width=""
, как я физическидобавил строку.Как я могу предотвратить это.
Я могу остановить его появление, если обернуть его вокруг оператора if
if (item.width!= null)
{
sb.AppendIfNotNull(" width=\"", item.width + "\"");
}
Пример объекта.Свойство может существовать в одном объекте, но может отсутствовать в следующем.Например, не добавляйте цвет, если он не существует:
{
'id': 'Test',
'type': 'Text',
'style': {
'color': 'black'
'textSize': '12'
}
},
{
'id': 'Test',
'type': 'Text',
'style': {
'textSize': '12'
}
}