2013-02-11 3 views
-1
public static ItemCollection Deserialize(string file) 
    { 
     ItemCollection Items; 
     ItemData[] _Items; 
     Stream stream = File.Open(file, FileMode.OpenOrCreate); 
     BinaryFormatter formatter = new BinaryFormatter();    
     _Items = (ItemData[])formatter.Deserialize(stream); //Im getting the error here 
     Items = new ItemCollection(); 
     Items.AddRange(_Items); 
     stream.Close(); 
     return Items; 
    } 

Здравствуйте! Я искал по всему Интернету эту проблему, и мне ничего не помогает. Имейте в виду, что у меня есть некоторый опыт в кодировании C# Я принимаю занятия 1 раз в неделю! Поэтому, пожалуйста, если бы вы могли посмотреть на мою проблему и попытаться помочь мне, это было бы так полезно!Исключение было выбрано мишенью для вызова # 2

Вот исключение. Исключение было выбрано целью вызова.

Я смотрел на снимке исключения он говорит - { «„ItemData“пользователя не был найден»}

Я пытаюсь сделать программу, которая упорядочивание книги информации из моих текстовых полей в текст файл. Я получил эту работу, но я не могу загрузить информацию обратно в текстовые поля.

[Это мой пункт класс данных]

using System; 
using System.Runtime.Serialization; 
using System.Runtime.Serialization.Formatters.Binary; 

namespace FurnatureSaver 
{ 
[Serializable()] 

class ItemData : ISerializable 
{ 

    private string _Color; 



    public ItemData() 
    { 
    } 
    public ItemData(SerializationInfo Information, StreamingContext X101) 
    { 
     _Color = (String)Information.GetValue(_Color, typeof(string)); 

    } 
    public String Color 
    { 
     get { return _Color; } 
     set {_Color = value;} 

    } 
    public void GetObjectData(SerializationInfo Information, StreamingContext X101) 
    { 
     Information.AddValue("Color", _Color); 

    } 
    public void Set() 
    { 
    _Color = Color.ToString(); 
    } 
    } 
} 
+3

Вы также трассировки стеки для любого исключения .NET. Какая именно строка вызывает эту ошибку? –

+2

взгляните на внутренние исключения, если они существуют – JMan

+0

Что вы пытаетесь десериализировать и почему? –

ответ

1

ли что-то изменить, если вы пишете это так?

namespace FurnatureSaver 
{ 
    [Serializable()]  
    class ItemData : ISerializable 
    { 
     public String Color 
     { 
      get; 
      set; 
     } 

     public ItemData() 
     { 
     } 

     public ItemData(SerializationInfo Information, StreamingContext X101) 
     { 
      Color = (String)Information.GetValue("Color", typeof(string)); 

     } 
     public void GetObjectData(SerializationInfo Information, StreamingContext X101) 
     { 
      Information.AddValue("Color", Color); 

     } 

     // I don't see the point of this method. 
     public void Set() 
     { 
      Color = Color; 
     } 
    } 
} 

Надеется, что это поможет

Смежные вопросы