Я много искал и нашел некоторые решения, но они не работают на меня. У меня есть какой -то инструмент создания графического интерфейса, написанный в WPF, и я хочу иметь возможность сериализовать экземпляры объектов. Содержит коллекцию Canvasitems и класс проекта, в котором содержится коллекция макетов.public class XMLWrite
{
public static void WriteXML(LCTProject project)
{
System.Xml.Serialization.XmlSerializer writer =
new System.Xml.Serialization.XmlSerializer(typeof(LCTProject));
string path = Directory.GetParent(Directory.GetParent(Directory.GetParent(
System.AppDomain.CurrentDomain.BaseDirectory.ToString()).ToString()).ToString()).ToString()
+ project.name + ".xml";
System.IO.StreamWriter file = new System.IO.StreamWriter(path);
writer.Serialize(file, project);
file.Close();
}
public static LCTProject ReadXML(string name)
{
System.Xml.Serialization.XmlSerializer reader =
new System.Xml.Serialization.XmlSerializer(typeof(LCTProject));
string path = Directory.GetParent(Directory.GetParent(Directory.GetParent(
System.AppDomain.CurrentDomain.BaseDirectory.ToString()).ToString()).ToString()).ToString()
+ name + ".xml";
System.IO.StreamReader file = new System.IO.StreamReader(path);
LCTProject project = new LCTProject();
project = (LCTProject)reader.Deserialize(file);
return project;
}
}
< /code>
и как я пытаюсь заставить его запустить: < /p>
public MainWindow()
{
InitializeComponent();
LCTLabel label1 = new LCTLabel();
label1.locationX = 6;
label1.locationY = 8;
label1.alignment = CanvasItem.Alignment.Bottom;
label1.text = "hi hi hi";
label1.textSize = 12;
Color clr = new Color();
label1.color = clr;
LCTImage img = new LCTImage();
img.locationX = 1;
img.locationY = 2;
img.alignment = CanvasItem.Alignment.Right;
img.path = @"C:\";
LCTImage img2 = new LCTImage();
img2.locationX = 500;
img2.locationY = 100;
img2.alignment = CanvasItem.Alignment.Up;
img2.path = @"C:\";
LCTLayout layout1 = new LCTLayout();
LCTLayout layout2 = new LCTLayout();
layout1.items.Add(label1);
layout1.items.Add(img);
layout2.items.Add(img);
layout2.items.Add(img2);
LCTProject project = new LCTProject();
project.layouts.Add(layout1);
project.layouts.Add(layout2);
XMLWrite.WriteXML(project);
}
< /code>
и я получаю следующее исключение: < /p>
targetInvocationException был невзванным
Неизвестное исключение типа 'System.Reflection.TargetInvocationExcept vocation. < /p>
< /blockquote>
Как я могу решить эту проблему? < /p>
Подробнее здесь: https://stackoverflow.com/questions/240 ... -unhandled
TargetInvocationException не было беззадачно ⇐ C#
Место общения программистов C#
-
Anonymous
1752266574
Anonymous
Я много искал и нашел некоторые решения, но они не работают на меня. У меня есть какой -то инструмент создания графического интерфейса, написанный в WPF, и я хочу иметь возможность сериализовать экземпляры объектов. Содержит коллекцию Canvasitems и класс проекта, в котором содержится коллекция макетов.public class XMLWrite
{
public static void WriteXML(LCTProject project)
{
System.Xml.Serialization.XmlSerializer writer =
new System.Xml.Serialization.XmlSerializer(typeof(LCTProject));
string path = Directory.GetParent(Directory.GetParent(Directory.GetParent(
System.AppDomain.CurrentDomain.BaseDirectory.ToString()).ToString()).ToString()).ToString()
+ project.name + ".xml";
System.IO.StreamWriter file = new System.IO.StreamWriter(path);
writer.Serialize(file, project);
file.Close();
}
public static LCTProject ReadXML(string name)
{
System.Xml.Serialization.XmlSerializer reader =
new System.Xml.Serialization.XmlSerializer(typeof(LCTProject));
string path = Directory.GetParent(Directory.GetParent(Directory.GetParent(
System.AppDomain.CurrentDomain.BaseDirectory.ToString()).ToString()).ToString()).ToString()
+ name + ".xml";
System.IO.StreamReader file = new System.IO.StreamReader(path);
LCTProject project = new LCTProject();
project = (LCTProject)reader.Deserialize(file);
return project;
}
}
< /code>
и как я пытаюсь заставить его запустить: < /p>
public MainWindow()
{
InitializeComponent();
LCTLabel label1 = new LCTLabel();
label1.locationX = 6;
label1.locationY = 8;
label1.alignment = CanvasItem.Alignment.Bottom;
label1.text = "hi hi hi";
label1.textSize = 12;
Color clr = new Color();
label1.color = clr;
LCTImage img = new LCTImage();
img.locationX = 1;
img.locationY = 2;
img.alignment = CanvasItem.Alignment.Right;
img.path = @"C:\";
LCTImage img2 = new LCTImage();
img2.locationX = 500;
img2.locationY = 100;
img2.alignment = CanvasItem.Alignment.Up;
img2.path = @"C:\";
LCTLayout layout1 = new LCTLayout();
LCTLayout layout2 = new LCTLayout();
layout1.items.Add(label1);
layout1.items.Add(img);
layout2.items.Add(img);
layout2.items.Add(img2);
LCTProject project = new LCTProject();
project.layouts.Add(layout1);
project.layouts.Add(layout2);
XMLWrite.WriteXML(project);
}
< /code>
и я получаю следующее исключение: < /p>
targetInvocationException был невзванным
Неизвестное исключение типа 'System.Reflection.TargetInvocationExcept vocation. < /p>
< /blockquote>
Как я могу решить эту проблему? < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/24080327/targetinvocationexception-was-unhandled[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия