首页 > 解决方案 > 返回列表的方法来自列表, 其中列表然后仅包含列表中所有 OwnStructs 的一个属性(C#)

问题描述

我有点挣扎。我的程序中有一个List<HeadStruc_Table>

类 HeadStruct 如下所示:

public partial class HeadStruct_Table : IComparable<HeadStruct_Table>
    {
        public string colName { get; set; }
        public string colName_edit { get; set; }
        public string alternativeNames { get; set; }
        public int Table_ID { get; set; }
        public bool colFound { get; set; }
        public CheckBox cBox { get; set; }

我不知道如何创建一个带有参数 (List<HeadStruct_Table>, HeadStruct_Table.colName)的方法,然后returnsaList<TypeOf(HeadStruct_Table.colName)>只包含colName在这种特定情况下的值。当然,它也应该适用于bool甚至CheckBox属性。

由于参数HeadStruct_Table.colName现在不起作用,因为它被声明为public而不是public static,我是否必须将其声明为public static或者是否有其他机会传递特定属性。也许通过使用谓词?

以后可能会是这样吗?

public static IList<T> getList<T>(List<HeadStruct_Table> list, Func<HeadStruct_Table, T> getType)
    {
        var newList = new List<T>();

我只是不知道如何获取特殊属性,然后在方法中读出这些值。如果没有字符串,我不想使用字符串作为参数。

任何有想法的人?

这是我的第一个问题。我愿意接受任何建议来改进在这里提出问题。谢谢你。

标签: c#classgeneric-list

解决方案


LINQ 的Enumerable.Select方法已经做了你想要的:

var newList = list.Select(x => x.colName).ToList();

推荐阅读