从 List<OwnStruct> 到 return List<T> 的方法,其中 List<T> 仅包含 List 中所有 OwnStructs 中的一个 属性 (C#)

Method to return a List<T> from a List<OwnStruct>, where List<T> then contains only one Property of all OwnStructs in List (C#)

我有点纠结于此。 我的程序中有一个 List<HeadStruc_Table>

Class 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) 创建一个方法,然后 return 一个 List<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>();

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

有人有想法吗?

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

LINQ 的 Enumerable.Select 方法已经满足了您的要求:

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