Попытка передать значение в индекс моего объекта приводит к ошибке "System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта".

Я пытаюсь передать значение в Index моего объекта, это выдает ошибку.

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 ответ

Решение

В вашем массиве ничего нет - он инициализируется пустым, каждая позиция в нем будет 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
};
Другие вопросы по тегам