向属性动态添加属性

Snj*_*Snj 13 c#

在我的课上,我有像这样的私有变量和属性.

private string _itemCOde=string.Empty;
private string  _itemName=string.Empty;

public string ItemCode
{
    get { return _itemCode; }
    set { _itemCode = value == null ? value : value.Trim();}
}

public string ItemName
{
    get { return _itemName; }
    set { _itemName = value == null ? value : value.Trim();}
}
Run Code Online (Sandbox Code Playgroud)

根据这个属性,我在从sql表中选择数据后创建Item对象.

现在,如果数据库表被更改并添加一个名为cost的新列,那么我必须向该类添加另一个属性.在不向类添加新属性的情况下,可以根据表字段动态声明属性.

Bro*_*ass 20

你可以使用ExpandoObject:

表示一个对象,其成员可以在运行时动态添加和删除.

dynamic expando = new ExpandoObject();
expando.Cost= 42.0;
expando.ItemName = "Shoes";
Run Code Online (Sandbox Code Playgroud)