Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ошибки в программе с сериализацией 
:(
    Опции темы
ArniLand
Дата 18.5.2010, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 17.8.2008

Репутация: нет
Всего: нет



Написал программу которая выводит информацию о книге, серийный номер книги, подсчитывает общую стоимость книг и увеличивает стоимость книг на определенный процент.  В программе должен был использовать сериализацию. При компиляции выдает ошибки, не могу понять что не так. Помогите исправить пожалуйста их.


Ошибки:
Цитата

D:\Documents\Visual Studio 2008\Projects\laba 2.5 sharp\laba 2.5 sharp\Program.cs(26,24): error CS0128: A local variable named 'formatter' is already defined in this scope
D:\Documents\Visual Studio 2008\Projects\laba 2.5 sharp\laba 2.5 sharp\Program.cs(27,20): error CS0128: A local variable named 'sBook' is already defined in this scope
D:\Documents\Visual Studio 2008\Projects\laba 2.5 sharp\laba 2.5 sharp\Program.cs(29,18): error CS0128: A local variable named 'obj' is already defined in this scope


Код программы:
Код

//Book.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace laba_2._5_sharp
{
    [Serializable]
    public class Book
    {
        public string SerialNumber;
        public string NameBook;
        public double PriceBook;
        public uint CountBooks;

        public Book()
        {
            SerialNumber = "n\a";
            NameBook = "n\a";
            PriceBook = 0;
            CountBooks = 0;
        }

        public void ChangePrice(float percent)
        {
            PriceBook = PriceBook * Convert.ToDouble(percent / 100);
        }

        public double TotalPrice()
        {
            return PriceBook * CountBooks;
        }
    }
}

//Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;

namespace laba_2._5_sharp
{
    class Program
    {
        static void Main(string[] args)
        {
            Book obj = new Book();
            obj.NameBook = "Вася Пупкин";
            obj.SerialNumber = "453agr56";
            obj.PriceBook = 4.7;
            obj.CountBooks = 5;
            BinaryFormatter formatter = new BinaryFormatter();
            Stream sBook = new FileStream("Books.txt", FileMode.CreateNew,
                FileAccess.Write, FileShare.None);
            formatter.Serialize(sBook, obj);
            sBook.Close();

            IFormatter formatter = new BinaryFormatter();// жалуется на эту строку
            Stream sBook = new FileStream("Books.txt", FileMode.Open,
                FileAccess.Read, FileShare.Read);
            Book obj = (Book)formatter.Deserialize(sBook);// жалуется на эту строку
            sBook.Close();// жалуется на эту строку

            Console.WriteLine("1: {0}", obj.NameBook);
            Console.WriteLine("2: {0}", obj.SerialNumber);
            Console.WriteLine("3: {0}", obj.PriceBook);
            Console.WriteLine("4: {0}", obj.CountBooks);
        }
    }
}




 















    




PM MAIL   Вверх
mrbrooks
Дата 19.5.2010, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 17
Всего: 306




Компилятор  какбэ намекает на объявления двух локальных переменных с одинаковыми именами.
Вот имена героев:

Цитата

58 стр - BinaryFormatter formatter 
64 стр - IFormatter formatter

59 стр - Stream sBook
65 стр - Stream sBook

53 стр - Book obj
67 стр - Book obj


Так, есесно, делать нельзя
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0404 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.