我自定义了一个对象管理类,并试图使用报表向导生成打印这类对象的报表,但是我得到了“未将对象引用设置到对象的实例”的错误提示。我不太清楚问题所在。也许是因为我将对象都定义成静态了?
using System;
using System.ComponentModel;
using System.Xml.Serialization;
using System.IO;namespace 实体
{ [Serializable]
public class 教室管理
{
static BindingList<教室> 所有教室 = new BindingList<教室>(); public static BindingList<教室> 获取所有教室()
{
return 所有教室;
} public static void XML序列化所有教室(string savedFileName)
{ // Insert code to set properties and fields of the object.
XmlSerializer mySerializer = new XmlSerializer(typeof(BindingList<教室>));
// To write to a file, create a StreamWriter object.
StreamWriter myWriter = new StreamWriter(savedFileName);
mySerializer.Serialize(myWriter, 所有教室);
myWriter.Close();
} public static void 反XML序列化所有教室(string savedFileName)
{
//BindingList<教室> 教室队列 = new BindingList<教室>();
XmlSerializer mySerializer = new XmlSerializer(typeof(BindingList<教室>));
// To read the file, create a FileStream.
FileStream myFileStream = new FileStream(savedFileName, FileMode.Open);
// Call the Deserialize method and cast to the object type.
所有教室 = (BindingList<教室>)mySerializer.Deserialize(myFileStream);
myFileStream.Close();
}
} [Serializable]
public class 教室:IComparable<教室>
{
// public int ID { get; set; }
[XmlAttribute]
public string 编号 { get; set; }
[XmlAttribute]
public string 名称 { get; set; }
public BindingList<日程> 日程队列 { get; set; }
public 教室()
{
//ID = 0;
编号 = "999999";
名称 = "未设置";
日程队列 = new BindingList<日程>(); } public void 日程队列初始化()
{
for (int i = 0; i < 7; i++)
{
日程 新日程 = new 日程();
新日程.星期几 = "周" + (i + 1).ToString();
日程队列.Add(新日程);
}
} int IComparable<教室>.CompareTo(教室 other)
{
throw new NotImplementedException();
}
} [Serializable]
public class 日程
{
[XmlAttribute]
public string 星期几 { get; set; }
public string 时0 { get; set; }
public 日程()
{
星期几 = "未指定"; 时0=""; } }
}
using System;
using System.ComponentModel;
using System.Xml.Serialization;
using System.IO;namespace 实体
{ [Serializable]
public class 教室管理
{
static BindingList<教室> 所有教室 = new BindingList<教室>(); public static BindingList<教室> 获取所有教室()
{
return 所有教室;
} public static void XML序列化所有教室(string savedFileName)
{ // Insert code to set properties and fields of the object.
XmlSerializer mySerializer = new XmlSerializer(typeof(BindingList<教室>));
// To write to a file, create a StreamWriter object.
StreamWriter myWriter = new StreamWriter(savedFileName);
mySerializer.Serialize(myWriter, 所有教室);
myWriter.Close();
} public static void 反XML序列化所有教室(string savedFileName)
{
//BindingList<教室> 教室队列 = new BindingList<教室>();
XmlSerializer mySerializer = new XmlSerializer(typeof(BindingList<教室>));
// To read the file, create a FileStream.
FileStream myFileStream = new FileStream(savedFileName, FileMode.Open);
// Call the Deserialize method and cast to the object type.
所有教室 = (BindingList<教室>)mySerializer.Deserialize(myFileStream);
myFileStream.Close();
}
} [Serializable]
public class 教室:IComparable<教室>
{
// public int ID { get; set; }
[XmlAttribute]
public string 编号 { get; set; }
[XmlAttribute]
public string 名称 { get; set; }
public BindingList<日程> 日程队列 { get; set; }
public 教室()
{
//ID = 0;
编号 = "999999";
名称 = "未设置";
日程队列 = new BindingList<日程>(); } public void 日程队列初始化()
{
for (int i = 0; i < 7; i++)
{
日程 新日程 = new 日程();
新日程.星期几 = "周" + (i + 1).ToString();
日程队列.Add(新日程);
}
} int IComparable<教室>.CompareTo(教室 other)
{
throw new NotImplementedException();
}
} [Serializable]
public class 日程
{
[XmlAttribute]
public string 星期几 { get; set; }
public string 时0 { get; set; }
public 日程()
{
星期几 = "未指定"; 时0=""; } }
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货