Как объявить статический список только для чтения? - PullRequest
0 голосов
/ 01 сентября 2018

У меня есть структура, и я хочу иметь статический список только для чтения этого типа. В режиме только для чтения свойства структуры (HexCode, Name) не найдены. Публикация их ничего не меняет.

Вот объявление структуры:

public struct FixedDataStruct
{
    string HexCode;
    string Name;
}

А вот и список:

private static readonly List<FixedDataStruct> myList= new List<FixedDataStruct>
{
        { HexCode = "12", Name = "Chenger" };
};

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

HexCode и Name не найдены, поскольку они являются полями FixedDataStruct, но вы назначаете их так, как если бы они были членами анонимного объекта в объекте List. Сначала вы должны создать экземпляр FixedDataStruct, добавить его в список и назначить его поля:

public struct FixedDataStruct
{
    public string HexCode;
    public string Name;
}

private static readonly List<FixedDataStruct> myList = new List<FixedDataStruct>() { 
    new FixedDataStruct() { HexCode = "12", Name = "Chenger" }
};
0 голосов
/ 01 сентября 2018

Как насчет?

private static readonly List<FixedDataStruct> myList = new List<FixedDataStruct>
{
    new FixedDataStruct("12","Chenger")
};

И

public struct FixedDataStruct
{
    public FixedDataStruct(string hexCode, string name)
    {
        HexCode = hexCode;
        Name = name;
    }

    string HexCode;
    string Name;
}
...