Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 04.11.2012
Сообщений: 53
1

Как сериализовать и десериализовать объекты классов?

25.12.2013, 00:05. Показов 1094. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеются классы


Pozition.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
 
namespace PetriNet_v1
{
    class Pozition : Element 
    {
        public List<Tranzition> incomingTranzitions;
        public List<Tranzition> outcomingTranzitions;
        public int CountChips = 0;
        public Pozition()
        {
            incomingTranzitions = new List<Tranzition>();
            outcomingTranzitions = new List<Tranzition>();
        }
        public Pozition(int left, int top)
        {
            location.X = left;
            location.Y = top;
            incomingTranzitions = new List<Tranzition>();
            outcomingTranzitions = new List<Tranzition>();
        }
        public void AddIncomingTranzition(Tranzition value, bool recursive)
        {
            incomingTranzitions.Add(value);
            if (recursive)
                value.AddOutcomingPozition(this, false);
        }
        public void AddOutcomingTranzition(Tranzition value, bool recursive)
        {
            outcomingTranzitions.Add(value);
            if (recursive)
                value.AddIncomingPozition(this, false);
        }
        public override void Paint(PictureBox PB)
        {
            Graphics gr = PB.CreateGraphics();
            gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
            gr.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver;
            gr.FillEllipse(Brushes.WhiteSmoke, location.X, location.Y, WIDTH, HEIGTH);
            Font font = new Font("Arial", 13);
            gr.DrawString(name, font, new SolidBrush(Color.FromArgb(100, 100, 100)), new PointF(location.X + 15, location.Y - 20));
            font.Dispose();
            font = new Font("Arial", 15);
            gr.DrawString(CountChips.ToString(), font, new SolidBrush(Color.FromArgb(100, 100, 100)), new PointF(location.X + (WIDTH - gr.MeasureString(CountChips.ToString(), font).Width) / 2, location.Y + (HEIGTH - gr.MeasureString(CountChips.ToString(), font).Height) / 2));
            font.Dispose();
            gr.Dispose();
        }
    }
}
Tranzition.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;
 
namespace PetriNet_v1
{
    class Tranzition : Element 
    {
        public List<Pozition> incomingPozitions;
        public List<Pozition> outcomingPozitions;
        public int Xred =0, Yred=0;
        Color color;
        public Tranzition()
        {
            incomingPozitions = new List<Pozition>();
            outcomingPozitions = new List<Pozition>();
        }
        public Tranzition(int left, int top)
        {
            location.X = left;
            location.Y = top;
            incomingPozitions = new List<Pozition>();
            outcomingPozitions = new List<Pozition>();
        }
        public void AddIncomingPozition(Pozition value, bool recursive)
        {
           if (recursive)
                value.AddIncomingTranzition(this, false);
           incomingPozitions.Add(value);
        }      
        public void AddOutcomingPozition(Pozition value, bool recursive)
        {
            if (recursive)
                value.AddIncomingTranzition(this, false);
            outcomingPozitions.Add(value);
        }
        public override void Paint(PictureBox PB)
        {
            Graphics gr = PB.CreateGraphics();
            gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
            gr.CompositingMode = CompositingMode.SourceOver;
            color = Color.Black;
            gr.DrawLine(new Pen(color, 5), new Point(location.X+WIDTH / 2, location.Y+HEIGTH), new Point(location.X+WIDTH / 2, location.Y));
            gr.DrawString(name, new Font("Arial", 12), new SolidBrush(Color.FromArgb(100, 100, 100)), new PointF(location.X - 7, location.Y - 20));
            Pen pen = new Pen(Color.Red, 3);
            pen.SetLineCap(LineCap.NoAnchor, LineCap.ArrowAnchor, DashCap.Triangle);
            foreach (Pozition p in incomingPozitions)
            {
                gr.DrawLine(pen,
                      new Point(p.location.X + Element.WIDTH / 2, p.location.Y + Element.HEIGTH / 2),
                      new Point(this.location.X + Element.WIDTH / 2, this.location.Y + Element.HEIGTH / 2));
            }
            pen.Color = Color.Blue;
            foreach (Pozition p in outcomingPozitions)
            {
                gr.DrawLine(pen,
                    new Point(this.location.X + Element.WIDTH / 2, this.location.Y + Element.HEIGTH / 2),
                    new Point(p.location.X + Element.WIDTH / 2, p.location.Y + Element.HEIGTH / 2));
            }
            
            pen.Dispose();
        }
    }
}
Как их сериализовать, десериализовать в XML файл
Помогите пожалуйста.. Буду очень признателен..
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2013, 00:05
Ответы с готовыми решениями:

Сериализовать/десериализовать объекты, одним из членов которого является SolidBrush
Мне нужно сериализовать/десериализовать объекты типа SomeType, одним из членов которого является...

Как сериализовать и десериализовать значения элементов управления из всех диалогов через MainForm
Здравствуте! Подскажите способ решения такой проблемы: есть главная форма MainForm на которой...

Как сериализовать/десериализовать экземпляры классов в файл
Проблема следующая: Имеется три класcа: class Class1 { // Список полей и методов } class...

Какие объекты можно сериализовать и десериализовать в XML / JSON?
Здравствуйте. Как можно определять какие объекты можно серилизовать и десирилизовать в XML или...

1
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
25.12.2013, 11:35 2
О сериализации, десериализации в XML и на форуме здесь и в "гугле" просто миллион тонн информации. Что именно у Вас не работает или в чем ошибка?
0
25.12.2013, 11:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2013, 11:35
Помогаю со студенческими работами здесь

Как сериализовать и десериализовать xml файл
Как сериализовать и десериализовать такой файл. Будет считвааться файл, в котором будет изменено...

Как правильно сериализовать и десериализовать коллекцию объектов разных типов?
имеются классы, допустим private abstract class Shape { public int X { get;...

Как сериализовать/десериализовать одновременно список, элемент своего класса и переменную?
Здравствуйте! В моей программе есть примерно следующие переменные public...

Сериализовать/Десериализовать xml объект
Доброго времени суток, форумчане! Подскажите пожалуйста, как сериализовать/десериализовать xml...

Можно ли сериализовать в консоли, а десериализовать в ASP.NET
Доброго времени суток, уважаемый форум! Пишу я на C# давно (относительно, я на 4 курсе всего), в...

Сериализовать данные в JSON получилось, десериализовать ответ сервера - нет
Привет, писал программу и появилась потребность в &quot;общении&quot; с PHP скриптом. Скрипт уже был готов и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru