Я пытаюсь сериализовать объект в xml, используя XmlSerializer
, но продолжаю получать эту ошибку:
System.InvalidOperationException: [MySql.Data.MySqlClient.MySqlParameter] cannot be serialized because it does not have a parameterless constructor.
Я следовал решению до , почему xml сериализуемый класс нуждается в Конструктор без параметров , который, кажется, решил проблему для всех остальных, но я все еще получаю ошибку. Когда я добавляю public MyClass()
, это дает мне 'MyClass.MyClass()' must declare a body because it is not marked abstract, extern, or partial
, поэтому я добавляю тело, и возвращается первая ошибка.
Обратите внимание, что изначально не было никаких конструкторов, без параметров или иначе, поэтому я не делаю понять, почему он не просто автоматически создает свое собственное.
Что я делаю не так?
Код добавлен:
MyFile. cs
public async Task Save(MyClass xmlObj)
{
XmlSerializer xmlSer = new XmlSerializer(this.GetType()); //I think the problem is likely to be here
StringWriter strWriter = new StringWriter();
xmlSer.Serialize(strWriter, xmlObj);
objToUpdate.ColName = (strWriter.ToString());
await dbContext.SaveChangesAsync();
}
File.cs
public async Task<IActionResult> SaveData(params...)
{
await new MyFile<MySqlParameter>(accessParam, dbContext).Save(xmlObj);
}