Как установить значения для атрибутов массива в C # Model Class - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть класс модели (Json преобразован в C # Class), в котором у меня есть массив и его атрибуты.

Теперь проблема в том, что мне нужно установить значения для этого массива atrributes, а именно fieldId и fieldValue, который присутствует в массиве с именем optionalFields.

Просто чтобы поднять голову, я написал конструктор, в котором я могу инициализировать переменные, что является прямым выстрелом, но я попробовал несколько способов установить значения для атрибутов массива, но тогда я буквально тратил время.

Ниже находится Json:

{
  "entityId": "1234",
  "inventoryId": "4567",
  "saleAccount": "SAA",
  "saleGroup": "SLL",
  "inventoryAccount": "IA1000",
  "workInProcess": 0,
  "isGlApplied": false,
  "optionalFields": [
    {
      "fieldId": "29",
      "fieldValue": "290"
    }
  ],

}

Ниже приведен класс моделей для вышеуказанного JSON:

public class Acct_Det_Widget_Post_Insert_Json
{
    public string entityId { get; set; }
    public string inventoryId { get; set; }
    public string saleAccount { get; set; }
    public string saleGroup { get; set; }
    public string inventoryAccount { get; set; }
    public int workInProcess { get; set; }
    public bool isGlApplied { get; set; }
    public Optionalfield[] optionalFields { get; set; }

    public string vehicleId { get; set; }

    public Acct_Det_Widget_Post_Insert_Json()
    {
        this.entityId = "1234";
        this.inventoryId = "34521";
        this.saleAccount = "SAA";
        this.saleGroup = "SLL";
        this.inventoryAccount = "IA1000";
        this.workInProcess = 0;
        this.isGlApplied = false;             
    }

}

public class Optionalfield
{
    public string fieldid { get; set; }
    public string fieldvalue { get; set; }    

}

Я могу установить значения для других полей, но не могу установить значения для этого OptionalField атрибутов массива.

Пожалуйста, помогите мне решить проблему как можно скорее.

1 Ответ

0 голосов
/ 06 ноября 2018

Чтобы установить значение для массива, его сначала нужно инициализировать.

public Optionalfield[] optionalFields { get; set; } = new Optionalfield[1];

Если вы хотите добавить более 1 значения, просто измените 1 на то, что вам нужно.

Далее в конструкторе вы можете назначить значения следующим образом:

optionalFields[0] = new Optionalfield();
optionalFields[0].fieldid = "29";
optionalFields[0].fieldvalue = "290";

Обратите внимание, что вам нужно создать экземпляр класса и назначить его действительному индексу массива. В этом случае массив инициализируется 1 элементом, вы назначаете экземпляр первому (0) элементу.

...