使用面向对象编程时的 C# 数组语法
C# Array Syntax when using object oriented programming
我有以下部分 classes:
public partial class FormInstance
{
private string referenceField;
public string Reference
{
get { return this.referenceField; }
set { this.referenceField = value; }
}
}
public partial class FormField
{
private string fieldNameField;
private string fieldValueField;
public string FieldName
{
get { return this.fieldNameField; }
set { this.fieldNameField = value; }
}
public string FieldValue
{
get { return this.fieldValueField; }
set { this.fieldValueField = value; }
}
}
public partial class EFormData
{
private FormInstance formInstanceField;
private FormField[] formDataField;
public FormInstance EFormInstance
{
get { return this.formInstanceField; }
set { this.formInstanceField = value; }
}
public FormField[] FormData
{
get { return this.eformDataField; }
set { this.eformDataField = value; }
}
}
我有一个方法如下,它有一个参数是上述 class 对象类型:
public int writeEformData(EformData formFields)
{
object[] results = this.Invoke("writeEformData", new object[] {
formFields});
return ((int)(results[0]));
}
在我的代码中,我尝试按如下方式初始化 EformData 对象:
EformData eformData = new EformData ();
eformData.EformInstance.Reference = "1234";
eformData.FormData[0].FieldName = "txt_name";
eformData.FormData[0].FieldValue = "John Doe";
eformData.FormData[1].FieldName = "txt_address";
eformData.FormData[1].FieldValue = "10 Acacia Ave";
int result = web.writeEformData(eformData);
但是当我调试时,我在第 2 行出现错误 eformData.EformInstance.Reference = "1234";
An unhandled exception of type 'System.NullReferenceException' occurred
Additional information: Object reference not set to an instance of an object.
初始化 EformData 对象和分配值的正确语法是什么?
替换
eformData.EformInstance.Reference = "1234";
和
eformData.EFormInstance = new FormInstance() { Reference = "1234" };
..您将在以下几行中遇到同样的麻烦。您必须先创建每个对象的实例,然后才能为其属性设置值
eformData.FormData = new FormField[2];
eformData.FormData[0] = new FormField() { FieldName = "txt_name", FieldValue = "John Doe" };
我有以下部分 classes:
public partial class FormInstance
{
private string referenceField;
public string Reference
{
get { return this.referenceField; }
set { this.referenceField = value; }
}
}
public partial class FormField
{
private string fieldNameField;
private string fieldValueField;
public string FieldName
{
get { return this.fieldNameField; }
set { this.fieldNameField = value; }
}
public string FieldValue
{
get { return this.fieldValueField; }
set { this.fieldValueField = value; }
}
}
public partial class EFormData
{
private FormInstance formInstanceField;
private FormField[] formDataField;
public FormInstance EFormInstance
{
get { return this.formInstanceField; }
set { this.formInstanceField = value; }
}
public FormField[] FormData
{
get { return this.eformDataField; }
set { this.eformDataField = value; }
}
}
我有一个方法如下,它有一个参数是上述 class 对象类型:
public int writeEformData(EformData formFields)
{
object[] results = this.Invoke("writeEformData", new object[] {
formFields});
return ((int)(results[0]));
}
在我的代码中,我尝试按如下方式初始化 EformData 对象:
EformData eformData = new EformData ();
eformData.EformInstance.Reference = "1234";
eformData.FormData[0].FieldName = "txt_name";
eformData.FormData[0].FieldValue = "John Doe";
eformData.FormData[1].FieldName = "txt_address";
eformData.FormData[1].FieldValue = "10 Acacia Ave";
int result = web.writeEformData(eformData);
但是当我调试时,我在第 2 行出现错误 eformData.EformInstance.Reference = "1234";
An unhandled exception of type 'System.NullReferenceException' occurred
Additional information: Object reference not set to an instance of an object.
初始化 EformData 对象和分配值的正确语法是什么?
替换
eformData.EformInstance.Reference = "1234";
和
eformData.EFormInstance = new FormInstance() { Reference = "1234" };
..您将在以下几行中遇到同样的麻烦。您必须先创建每个对象的实例,然后才能为其属性设置值
eformData.FormData = new FormField[2];
eformData.FormData[0] = new FormField() { FieldName = "txt_name", FieldValue = "John Doe" };