Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Десериализация объекта c#

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Vladimirll

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте ! Подскажите пожалуйста, почему программа не может найти файл Demon.bin  по пути  C:\\qqq\\www\\eee\\Demon.bin  ?  
 
 
//  Листинг 11.12. Десериализация объекта
 
using System;  
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;  
namespace Pavlovs_270
{
        abstract class Spirit
    {
        public abstract void Passport();
    }
 
     
    class Monster : Spirit
    {
        public Monster(int health, int ammo, string name)
        {
            this.health = health;
            this.ammo = ammo;
            this.name = name;
        }
 
        override public void Passport()
        {
            Console.WriteLine("Monster {0}  \t health = {1}  ammo  =  {2}",
                                name, health, ammo);
        }
 
        string name;
        int health, ammo;
    }
 
        class Demo          
    {
         
        public int a = 1;
         
        public double b;
         
        public Monster X, Y;
    }
   
   class Class1
   {
      static void Main()
      {
         
         FileStream f = new FileStream("C:\\qqq\\www\\eee\\Demon.bin", FileMode.Open);
 
         BinaryFormatter bf = new BinaryFormatter();
 
         Demo d = (Demo)bf.Deserialize( f );     //  восстановление  объекта
 
         d.X.Passport()  ;       d.Y.Passport();
         Console.WriteLine( d.a );  Console.WriteLine(  d.b  );
 
         f.Close();
 
         Console.ReadKey();
      }
   }
 }

Всего записей: 66 | Зарегистр. 07-07-2015 | Отправлено: 10:36 06-05-2016
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladimirll, какое исключение и в какой строке получаешь?

Всего записей: 418 | Зарегистр. 23-03-2010 | Отправлено: 11:18 06-05-2016
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
"А был ли мальчик?"

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 22:07 06-05-2016
Vladimirll

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NeoAnomaly
Alexzzy
 
 
Если дописать в программе  :
 
 
catch (Exception e)
          {
              Console.WriteLine("Error:  " + e.Message);
              Console.ReadKey();
          }
 
 
Консоль выдает Error: Не удалось найти сборку “Pavlovs_268, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null “.
 
 
 

Всего записей: 66 | Зарегистр. 07-07-2015 | Отправлено: 12:41 07-05-2016
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Т.к. ты сериализировал объект в другом проекте, тебе надо выносить сериализируемый класс в отдельную сборку и подключать её к обоим проектам.

Всего записей: 418 | Зарегистр. 23-03-2010 | Отправлено: 19:54 07-05-2016 | Исправлено: NeoAnomaly, 20:01 07-05-2016
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Десериализация объекта c#


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru