0

I am trying to pass a value in Index of my object, it gives me an error.

System.NullReferenceException: Object reference not set to an instance of an object.

I am creating the following object with index :

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

If you want see my RecipientInfo method, providing you the method below.

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

Why am I getting this error?

royhowie
  • 10,605
  • 14
  • 45
  • 66

1 Answers1

1

Your array doesn't have anything in it - it's initialised empty, each position in it will be null. You need to create a RecipientInfo before setting properties on it.

Simplest change:

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

Or, slightly nicer:

var RI = new RecipientInfo[1];

RI[0] = new RecipientInfo
{
    email = "email-id", 
    role = RecipientRole.SIGNER
};
Charles Mager
  • 23,314
  • 2
  • 26
  • 33