在表单类中访问对象

时间:2010-11-11 19:14:39

标签: c# .net

之前的一个后续问题:我在Form1 : Form课程中创建了一个对象:

public struct POStruct
    {
        public List<string> staticCustInfo;
        public List<List<string>> itemCollection;
        public int testInt;
    }

    POStruct myObject = new POStruct();

但是,当我尝试从myObject访问public void ItemSubmit_Click_1(object sender, EventArgs e)时,我收到错误消息,说明它未实例化。我以为我已经用行POStruct myObject = new POStruct();

在上面实例化了它

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您可能正在使用结构的一个成员而不首先初始化它。无论如何,结构实际上不能为空,但它们的成员可以。

换句话说,myObject不为空,实际上不能为空,因为它是结构类型的变量。但是从您的问题来看,它听起来像myObject.staticCustInfomyObject.itemCollection

但是没有看到触发异常的确切代码,我所能做的只是猜测。

答案 1 :(得分:0)

您正在实例化POStruct,但该结构有两个未实例化的List<>个对象。实例化myObject时,需要将这两个属性设置为有用的属性,例如:

POStruct myObject = new POStruct();
myObject.StaticCustInfo = new List<string>();
myObject.itemCollection = new List<List<string>>();

如果这没有用,你可以发布整个类,包括事件处理程序,确切的消息以及触发异常的代码行吗?