-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回クラスを受講していることを覚えておいてください! だから、私の問題を見て、私を助けようとすることができれば、それはとても役に立ちます!

これが例外です - 呼び出しのターゲットによって例外がスローされました。

例外のスナップショットを確認しました - {「メンバー '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();
    }
    }
}
4

1 に答える 1

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;
        }
    }
}

これが役立つことを願っています

于 2013-02-11T15:56:06.417 に答える