Как получить значение свойства из другого объекта класса в списке - PullRequest
0 голосов
/ 26 марта 2020

Я изучаю C#, и мне не ясно, как получить доступ к свойству в foreach l oop из 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 Ответ

2 голосов
/ 26 марта 2020

Определение класса FieldsList не должно иметь типового аргумента c,
просто объявите его, как показано ниже.

Если определено как FieldsList<FldData>, FldData деталь считается аргументом типа generi c , который не является классом 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;
    }
}
...