однако попробовать можно способом пытался, я не знаю, как я могу сериализовать (извините. Я нашел в английском словаре «Какой черт» это плохое слово? В любом случае я прошу прощения)Как я могу сериализовать этот класс
- Когда я использую BinaryFormatter, это выбросить исключение из RelayCommand (я хочу использовать XmlSerializer. Я должен увидеть текст файла)
Я попытался с помощью [XmlIgnore], но я думаю, что кажется, что не применяются. - Когда я использую XmlSerializer, я не знаю, где выполняется исключение throw.
- DataContractSerializer бросает много исключения. поэтому я не хочу использовать.
, пожалуйста, помогите мне. Пожалуйста, поймите, я не могу хорошо говорить по-английски.
это мой класс.
Удлинительное решение.
Решилось от основного решения.
[Serializable]
public class SerializableContextBase : INotifyPropertyChanged
{
[field: NonSerialized()]
public event PropertyChangedEventHandler PropertyChanged;
public void RaisePropertyChanged(string prop)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(prop));
}
}
}
Главная Решение
Главная верхнего уровня Класс
[Serializable]
public class ResultContext : SerializableContextBase
{
public ResultContext() { }
private PerformanceContextCollection _PerformanceCollection = new PerformanceContextCollection();
public PerformanceContextCollection PerformanceCollection
{
get { return _PerformanceCollection; }
set
{
if (_PerformanceCollection == value) { return; }
_PerformanceCollection = value;
RaisePropertyChanged("PerformanceCollection");
}
}
Класс Bottom Уровень
[Serializable]
public class PerformanceContextCollection : ObservableCollection<PerformanceContext>
{
// some method
// public void Add(string Name){} ~~~
}
[Serializable]
public class PerformanceContext : SerializableContextBase
{
[XmlIgnore]
public RelayCommand<PerformanceContext> RemoveCommand { get; set; }
some string, some guid...~~
}