0

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

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

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

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; }
    }
}

为什么我会收到此错误?

4

1 回答 1

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
};
于 2015-05-14T16:30:40.307 回答