C# 调用2的目标已引发异常
你好!!我在互联网上到处搜索这个问题,但似乎没有任何帮助。请记住,我有一些编写c语言的经验,我每周上一次课!所以,请你看看我的问题,并试图帮助我,这将是非常有益的 下面是异常-异常是由调用的目标引发的 我查看了异常快照,它显示-{“未找到成员'ItemData'。” 我正在尝试制作一个程序,将我的文本框中的一本信息书序列化为一个文本文件。我得到了工作,但我不能加载信息回到文本框 [这是我的项目数据类]C# 调用2的目标已引发异常,c#,C#,你好!!我在互联网上到处搜索这个问题,但似乎没有任何帮助。请记住,我有一些编写c语言的经验,我每周上一次课!所以,请你看看我的问题,并试图帮助我,这将是非常有益的 下面是异常-异常是由调用的目标引发的 我查看了异常快照,它显示-{“未找到成员'ItemData'。” 我正在尝试制作一个程序,将我的文本框中的一本信息书序列化为一个文本文件。我得到了工作,但我不能加载信息回到文本框 [这是我的项目数据类] public static ItemCollection Deserialize(st
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;
}
如果你这样写,它会改变什么吗
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();
}
}
}
希望这将有助于您还可以对任何.NET异常进行堆栈跟踪。到底是哪一行导致了这个错误?看看内部异常,如果它们存在,你想反序列化什么,为什么?@ShadowWizard我想象这一行说
//我在这里得到了错误
@Antonijn哦,我的。。。非常正确。不过,内部异常可能包含一些有用的内容。
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;
}
}
}