繁体   English   中英

访问类对象列表

[英]Accessing a List of Class objects

我正在尝试使以下内容起作用:
一个名为Caption的类,我在其中填充一个 List - 将Items添加到 Class 列表中,然后我想在查找方法中引用类值列表

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 的代码中,但在运行时 - 该列表不存在。

假设 Simple Dictionary<>不适合您的需求(由于您未指定的原因),那么要从 List 中查找并返回一个项目,您可以使用 List.Find 方法,该方法接受一个委托并像这样使用:

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

如果有多个,那么它将返回它找到的第一个。

还有FindAll (....) 版本,它将返回所有匹配项的新列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM