我已经在C#中为windows窗体应用程序初始化了一个ArrayList
。我加入与在ArrayList
每个对象的一些属性,如新的对象:在ArrayList中获取对象属性的值
ArrayList FormFields = new ArrayList();
CDatabaseField Db = new CDatabaseField();
Db.FieldName = FieldName; //FieldName is the input value fetched from the Windows Form
Db.PageNo = PageNo; //PageNo, Description, ButtonCommand are also fetched like FieldName
Db.Description = Description;
Db.ButtonCommand = ButtonCommand;
FormFields.Add(Db);
现在,当我想只检查每个对象的FieldName
在ArrayList
(假设有在ArrayList
许多对象) 。我怎样才能做到这一点??
我尝试:
for(int i=0; i<FormFields.Count; i++)
{
FieldName = FormFields[i].FieldName;
}
但这产生错误(在IDE)。我是C#编程的新手,所以有人可以帮助我解决这个问题?
Error: Error 21 'object' does not contain a definition for 'FieldName' and no extension method 'FieldName' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)
您可以用'CDatabaseField'而不是数组列表清单? – 2014-10-28 15:45:45
'Recipe'' OP's'最好的办法是实际创建一个CDatabaseField列表,就像'Selman22'指出的那样.'List' –
MethodMan
2014-10-28 15:50:59
Daniel,实际上我正在研究一个旧软件,它实现了一个名为arraylist的命名FormFields存储CDatabaseField的列表,它正在软件中的千位使用。要将数组列表更改为列表,我需要在很多地方改变它,现在不可行。 你可以建议我一种方法来获取从arraylist中的对象的特定字段名? – 2014-10-28 16:23:51