如何从列表中的其他类对象获取属性的值

时间:2020-03-25 21:34:55

标签: c# class

我正在学习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;
        }

    }
}

1 个答案:

答案 0 :(得分:2)

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;
    }
}