【发布时间】:2021-01-27 10:43:24
【问题描述】:
我需要根据用户配置在现有类中添加一个属性,我的意思是如果用户已在数据库中配置为添加一个新属性,例如属性名称为“名称”,数据类型为“字符串”并且值为“米什拉”。 完成后,我会在 Redis 缓存中保存一个 TestClass 数据列表。
class TestClass
{
public long ID { get; set; }
}
我已经尝试过链接https://msdn.microsoft.com/en-us/library/2sd82fz7.aspx 但我想添加一个现有的类,所以任何人都可以帮助我实现同样的目标。
我想根据我的 devex 网格的用户属性(列)配置呈现 JSON 数据。
数据喜欢-
{
"testClass": [
{
"scheduledTime": "2018-07-30T15:30:00",
"estimatedTime": "2018-07-30T15:30:00",
"flightNumber": "EY4512",
"airLine": "assets/images/EY_88x45.jpg",
"fromVia": "Chengdu,Dallas",
"partner": "EY2356",
"status": "Departed",
"flightColor": null,
"cityColor": null,
"publicArrivalPlaceholder1": "CTU,DFW",
"publicArrivalPlaceholder2": "12_IT",
"publicArrivalPlaceholder3": "AIR",
"publicArrivalPlaceholder4": "7/30/2018 3:30:00 PM",
"publicArrivalPlaceholder5": "7/30/2018 3:30:00 PM",
"id": "179490",
"cellRule": "",
"rowRule": ""
},
{
"scheduledTime": "2018-07-30T17:00:00",
"estimatedTime": "2018-07-30T14:00:00",
"flightNumber": "EY1213",
"airLine": "assets/images/EY_88x45.jpg",
"fromVia": "Adelaide,Ahmedabad",
"partner": "EY8562",
"status": "Departed",
"flightColor": null,
"cityColor": null,
"publicArrivalPlaceholder1": "ADE,AMD",
"publicArrivalPlaceholder2": "2A_T4",
"publicArrivalPlaceholder3": "AIR",
"publicArrivalPlaceholder4": "7/30/2018 5:00:00 PM",
"publicArrivalPlaceholder5": "7/30/2018 2:00:00 PM",
"id": "179489",
"cellRule": "",
"rowRule": ""
}]
}
这里的scheduledTime、estimatedTime、flightNumber 等是我需要在运行时解决的属性。
【问题讨论】:
-
你想在运行时添加属性还是在编译时添加?
-
你的主要目的是什么,你确定 Dictionary
不够用,或者可能是动态属性? -
是否有理由不使用具有名称/值对的数组?还是字典?或者甚至只是将属性默认设置为 null 并且仅将那部分数据添加到缓存中(如果它不为 null)?您也可以只是子类化并使用一个函数,该函数根据给定的值确定要创建哪种类型的对象。
-
我想在运行时添加属性。我的主要目的是为我的 devex 网格呈现列表类型的 json 数据。我将从 xml 获取数据到用户的映射属性。
标签: c#