【发布时间】:2014-12-24 02:34:34
【问题描述】:
我已经在 C# 中为 Windows 窗体应用程序初始化了一个 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);
现在当我只想检查ArrayList 中每个对象的FieldName 时(假设ArrayList 中有很多对象)。我该怎么做??
我试过了:
for(int i=0; i<FormFields.Count; i++)
{
FieldName = FormFields[i].FieldName;
}
但这会产生错误(在 IDE 中)。我是 C# 编程新手,有人可以帮我吗?
错误:错误 21 'object' 不包含 'FieldName' 的定义 并且没有扩展方法“FieldName”接受类型的第一个参数 可以找到“对象”(您是否缺少 using 指令或 汇编参考?)
【问题讨论】:
-
你能用
CDatabaseField的列表代替数组列表吗? -
RecipeOP's最好的办法是实际创建一个 CDatabaseField 列表,正如Selman22所指出的那样..List<CDatabaseField> -
Daniel,实际上我正在开发一个旧软件,它实现了名为 FormFields 的数组列表来存储 CDatabaseField 的列表,该列表已在软件中的数千个地方使用。要将 arraylist 更改为列表,我需要在很多地方进行更改,目前这是不可行的。你能建议我一种从数组列表中保存的对象中获取特定字段名的方法吗??