列名已属于C#中的此DataTable错误
本文关键字:DataTable 错误 属于 | 更新日期: 2023-09-27 18:20:05
使用此代码似乎无法传递此错误消息。
System.Data.DuplicateNameException: A column named 'Url' already belongs to this DataTable.
foreach (var user in users.Users)
{
using (DataTable table = new DataTable())
{
table.Clear();
for (int i = 0; i < users.Users[0].GetType().GetProperties().Count(); i++)
{
table.Columns.Add(users.Users[0].GetType().GetProperties()[i].Name);
Console.WriteLine(table.Columns.Add(users.Users[0].GetType().GetProperties()[i].Name));
}
}
}
有什么想法吗?
更新
var properties = users.Users[0].GetType().GetProperties();
for (int i = 0; i < properties.Count(); i++)
{
table.Columns.Add(properties[i].Name, typeof(String));
}
因为我不知道前臂是什么类型的。此:
var properties = users.Users[0].GetType().GetProperties();
foreach (PropertyInformation prop in properties)
{
table.Columns.Add(properties.);
Console.WriteLine(prop.Name);
}
给了我Cannot convert type 'System.Reflection.PropertyInfo' to 'System.Configuration.PropertyInformation'
不管怎样,我能想办法把正确的类型放进去吗@barrick
错误不会说谎。在Console.WriteLine()
调用中,您将再次添加列,这将导致问题。
尝试:
var properties = users.Users[0].GetType().GetProperties();
foreach (PropertyInfo prop in properties)
{
table.Columns.Add(prop.Name);
Console.WriteLine(prop.Name);
}