通过属性名称获取循环中的对象值c#
问题描述:
大家好, 我需要在项目中插入数据库,但是在数据库中有195列,所以我想用对象和类输入存储过程参数为了使这个工作更容易,在c#端使用逻辑。通过属性名称获取循环中的对象值c#
我已经很容易地获得了为数据库排序创建的类的属性名称,但是我很难填充它们的值。
类
public class StokItem
{
public int prop1 { get; set; }
public short prop2 { get; set; }
public int prop3 { get; set; }
.....
}
程序代码
String [] propNamestypeof = typeOf (StokItem) .GetProperties(). Select (p => p.Name) .ToArray();
StokItem item = new StokItem();
Item.prop1 = blablabla
Item.prop2 = asddsad;
...
.
.
For (int i = 0; i <195; i ++) {
ScCommand.Parameters.AddWithValue ("@" + propNamestypeof [i], XXXXX);
}
含义XXXX;索引i中属性的值是obgen的值(我正在填充它)
我的意思是我该如何为具有这么多字段的表执行此操作item.propNamestypeOf [i]实际上是想要去做,但它不接受它?
答
下面的代码可能会帮助你
StokItem item = new StokItem();
item.prop1 = 123;
item.prop2 = 456;
...
foreach (var prop in item.GetType().GetProperties())
{
//string propertyName = prop.Name;
//var propertyValue = prop.GetValue(item);
ScCommand.Parameters.AddWithValue ("@" + prop.Name, prop.GetValue(item));
}
非常感谢您为我要找的! –