我正在编写一个调用一些erp类/函数(erp已经过时并且没有任何支持的程序)的程序。我在定义“对象”时遇到了困难,并希望在这方面提供一些帮助。在此先感谢C#对象类型 - 对象引用未设置为对象的实例
我有一个类typeUDDBTble
(定义如下)。
我的编码是。
typeUDDBTbl UDDB = new typeUDDBTbl();
UDDB.name = "xxxx";
UDDB.Rec = new typeRec[1];
// Edited, incorrect code
// UDDB[0].Items = new typeFld[1];
UDDB.Rec[0].Items = new typeFld[1];
Items是一个对象数组。我试着用new Object[1]
,或其他type(typeFld)
,但都得到
对象引用不设置到对象
任何想法如何,我可以解决这个问题的一个实例?
定义:
public partial class typeUDDBTbl : object, System.ComponentModel.INotifyPropertyChanged
{
private typeRec[] recField;
private string nameField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("Rec", Order = 0)]
public typeRec[] Rec
{
get
{
return this.recField;
}
set
{
this.recField = value;
this.RaisePropertyChanged("Rec");
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute(DataType = "token")]
public string name
{
get
{
return this.nameField;
}
set
{
this.nameField = value;
this.RaisePropertyChanged("name");
}
}
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(string propertyName)
{
System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
if ((propertyChanged != null))
{
propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
}
}
}
public partial class typeRec : object, System.ComponentModel.INotifyPropertyChanged
{
private object[] itemsField;
private string dummyField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("Fld", typeof(typeFld), Order = 0)]
[System.Xml.Serialization.XmlElementAttribute("LangFld", typeof(typeLangFld), Order = 0)]
public object[] Items
{
get
{
return this.itemsField;
}
set
{
this.itemsField = value;
this.RaisePropertyChanged("Items");
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute(DataType = "token")]
public string dummy
{
get
{
return this.dummyField;
}
set
{
this.dummyField = value;
this.RaisePropertyChanged("dummy");
}
}
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(string propertyName)
{
System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
if ((propertyChanged != null))
{
propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
}
}
}
public partial class typeFld : object, System.ComponentModel.INotifyPropertyChanged
{
private string nameField;
private string valueField;
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute(DataType = "token")]
public string name
{
get
{
return this.nameField;
}
set
{
this.nameField = value;
this.RaisePropertyChanged("name");
}
}
/// <remarks/>
[System.Xml.Serialization.XmlTextAttribute()]
public string Value
{
get
{
return this.valueField;
}
set
{
this.valueField = value;
this.RaisePropertyChanged("Value");
}
}
谢谢,我错过了UDDB.Rec [0] = new typeRec();感谢您的帮助 – Glen 2013-04-10 04:05:09
不客气。 – 2013-04-10 11:47:08