尝试将值传递给我的Object的索引会产生错误“System.NullReferenceException:Object reference not not set to a object of object。”

时间:2015-05-14 16:27:18

标签: c# asp.net oop c#-4.0 echosign

我试图在我的对象的索引中传递一个值,它给了我一个错误。

  

System.NullReferenceException:未将对象引用设置为对象的实例。

我正在使用索引创建以下对象:

RecipientInfo[] RI = new RecipientInfo[1];
RI[0].email = "email-id";
RI[0].role = RecipientRole.SIGNER;

如果您想查看我的RecipientInfo方法,请提供以下方法。

public partial class RecipientInfo
{
    private string emailField;
    private System.Nullable<RecipientRole> roleField;

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(IsNullable = true)]
    public string email
    {
        get { return this.emailField; }
        set { this.emailField = value; }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(IsNullable = true)]
    public System.Nullable<RecipientRole> role
    {
        get { return this.roleField; }
        set { this.roleField = value; }
    }
}

为什么我收到此错误?

1 个答案:

答案 0 :(得分:1)

你的数组中没有任何内容 - 它初始化为空,其中的每个位置都是null。您需要在设置属性之前创建RecipientInfo

最简单的改变:

RecipientInfo[] RI = new RecipientInfo[1];
RI[0] = new RecipientInfo();
RI[0].email = "email-id";
RI[0].role = RecipientRole.SIGNER;

或者,稍微好一些:

var RI = new RecipientInfo[1];

RI[0] = new RecipientInfo
{
    email = "email-id", 
    role = RecipientRole.SIGNER
};