Вот лень мне было по кусочкам Font сохранять в XML. Нашел вот такой способ:
public static XmlElement AddElementByConverter<T>(XmlElement parentNode, string nodeName, T attrValue)
{
TypeConverter converter = TypeDescriptor.GetConverter(typeof(T));
string value = converter.ConvertToString(attrValue));
.... ну и тут дальше как обычно
}
И загружать просто:
public static T ReadByConverter<T>(XmlNode element, string path, T defaultValue)
{
T nodeValue = defaultValue;
XmlNode node = element.SelectSingleNode(path);
.........
TypeConverter converter = TypeDescriptor.GetConverter(typeof(T));
nodeValue = (T) converter.ConvertFromString(valueString);
if (nodeValue == null)
nodeValue = defaultValue;
.........
return nodeValue;
}
Такая конструкция замечательно глотает и Font и Color и любой enum.
Типа кодюлька номер раз :)
No comments:
Post a Comment