首页 > 解决方案 > 如何从列表中的其他类对象获取属性值

问题描述

我正在学习 C#,但我不清楚如何访问类foreach循环中的FieldsList属性。它无法访问。我正在尝试获取名称为FieldData.

怎么了?

namespace MyNamesp
{
    public class FldData
    {
        public string Name { get; set; }
        public Type FldType { get; set; }

        public FldData() { }

        public FldData(string name, Type fldType)
        {
            Name = name;
            FldType = fldType;
        }
    }


    class FieldsList<FldData> : List<FldData>
    {
        public int NumField { get { return this.Count; }  }
        public string QryFieldList()
         {

           string _QryFieldList = "";

            foreach(FldData fld in this)
            {
                _QryFieldList += fld.Name +",";  //Fld.Name is not accessible 
            }

            return _QryFieldList;
        }

    }
}

标签: c#class

解决方案


类的定义FieldsList不应该有泛型类型参数,
只需如下声明即可。

当定义为 时FieldsList<FldData>,该FldData部分被视为不是类的泛型类型参数FldData,尽管两个名称相似。

class FieldsList : List<FldData>
{
    public int NumField { get { return this.Count; } }
    public string QryFieldList()
    {

        string _QryFieldList = "";

        foreach (FldData fld in this)
        {
            _QryFieldList += fld.Name + ",";
        }

        return _QryFieldList;
    }
}

推荐阅读