У меня есть этот кусок кода:
[XmlIgnore]
public static Configuration Config;
[XmlElement("Configuration")]
public Configuration Configuration // property in myViewModel
{
get { return Config; }
set { Config = value; }
}
bool serializeConfig = true;
bool ShouldSerializeConfiguration()
{
return serializeConfig;
}
public void ResetConfiguration()
{
serializeConfig = true;
}
и функция, в которой я его использую:
private void SaveToClipboard()
{
serializeConfig = false; // toggle no serialization
try
{
XmlSerializer serializer = new XmlSerializer(typeof(myViewModel)); // object that the Configuration is in
using (StringWriter stream = new StringWriter())
{
serializer.Serialize(stream, this);
Clipboard.SetText(stream.ToString());
}
serializeConfig = true; // toggle back
}
catch (InvalidOperationException e)
{
// etc.
}
}
Я использую serializeConfig для переключения сериализации объекта конфигурации.Я сериализую в двух местах, одно из которых не требует настройки.Но он не работает так, как рекламируется.
С [XmlIgnore] он пропускает конфигурацию как следует.
SaveToClipboard - это метод myViewModel, который сериализуется.
Этообъект больше не поддерживается или что?Я использую последнее обновление VS2017, на win10Pro.