Я работаю над системой перетаскивания для моего приложения WPF.C# - десериализовать класс с внутренним конструктором
Путь это работает:
- Я принимаю перетаскиваемый элемент
- Сериализация это XML
- Когда он потеряется я десериализации его снова.
Это отлично работает в моем тестовом приложении. Однако теперь, когда я пытаюсь сделать это в своем реальном приложении, я попал в ловушку. Класс, который я пытаюсь десериализовать (Microsoft.TeamFoundation.WorkItemTracking.Client.FieldDefinition), не имеет открытого конструктора.
Когда я пытаюсь десериализации его, используя этот код:
XmlReader reader = XmlReader.Create(new StringReader(xamlString));
object elt = XamlReader.Load(reader);
Я получаю эту ошибку:
Cannot create object of type 'Microsoft.TeamFoundation.WorkItemTracking.Client.FieldDefinition'. CreateInstance failed, which can be caused by not having a public default constructor for 'Microsoft.TeamFoundation.WorkItemTracking.Client.FieldDefinition
Am I тоста? Есть ли способ десериализовать этот класс? Любые другие идеи о том, как передать этот класс с помощью перетаскивания? (Я использую FluidKit Drag and Drop Advisers.)
Хорошая идея! Я пойду с этим. Спасибо за совет. – Vaccano