正如我在标题中问的那样,
是否可以从数据库或 C# 中的外部值设置动态创建的属性名称?
如果是,那怎么办?
通常,处理此问题的最佳方法是将值存储在 a Dictionary<string, object>
(或什至Dictionary<string, dynamic>
,或其他一些类作为值)中。这为您提供了一种使用“动态属性名称”(键)和值的方法。
虽然自定义DynamicObject
将允许您在运行时基于外部源添加动态成员,但使用这些属性会出现问题,因为您不知道如何从代码中引用它们。
编辑:代码示例:
Dictionary<string, object> myValues = new Dictionary<string, object>();
myValues.Add("FieldName", "valueFromDatabase");
//to get value back
object val = myValues["FieldName"];
//or if not sure value exists
if (myValues.TryGetValue("FieldName", out val))
{
//do something with val
}