Доступ к списку объектов класса - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь заставить работать следующее:
Класс с именем Caption, где я заполняю список - добавляя Items в список классов. Затем я хочу сослаться на список значений классов, в метод поиска

public class Caption
{
    readonly CaptionKey _CaptionKey;    //Enum list
    readonly string _Description;

    public Caption(CaptionKey captionKey, string description)
    {
        _CaptionKey = captionKey;
        _Description = description;
    }

    public CaptionKey CaptionKey { get { return _CaptionKey; } }

    public string Description { get { return _Description; } }

}

Вот класс, который создает список классов

public class InitCaptions

    public static List<Caption> _Captions = new List<Caption>();

// the class access I need

public static string LookupCaption( CaptionKey )
{
   //?  How to return the description for 

}

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

Я вижу, что значения в отладчике есть - System.Collections.Generic.List<MyNamespace.Controllers.Captions> Я просто не уверен, как правильно на него ссылаться.

Я должен добавить - это решение MVC - поэтому список создается при запуске приложения, но ссылочный вызов выполняется из отчета с использованием ReportViewer. Список отображается в коде с использованием Intellisense, но при запуске - Список не существует.

1 Ответ

0 голосов
/ 27 марта 2020

Если простое Dictionary<> не будет соответствовать вашим потребностям (по причинам, которые вы не указали), то для поиска и возврата элемента из списка вы можете использовать метод List.Find, который принимает делегат и используется например:

Caption foundItem = _Captions.Find(delegate (Caption obj) { return obj.Description.equals("Find this Description"); });

Если их больше одного, он вернет первое найденное.

Существует также версия FindAll (....) этого который вернет новый список всех совпадений предметов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...