是否可以创建“class”运行时?
问题描述:
对于网站的后端,我需要从数据库中提取某些数据列,具体取决于用户拥有哪些网站设置。 所以没有办法知道我会事先需要哪些列。是否可以创建“class”运行时?
有什么办法可以制作一个“对象”列表,其中只包含我需要返回到前端的不同类型?
例如:
该班的学生被存储在数据库中:
Students
{
string name;
int age;
double averageGrade;
string class;
Student bestFriend;
}
比方说,网站上的用户希望只看到学生的姓名和最好的朋友,我怎么可以把这些在一个对象中,并将这些对象放在一个列表中?
exampleStudent {name, bestFriend};
在此先感谢!
答
一个解决方案是存储使用字典属性:
Dictionary<string, object> student = new Dictionary<string, object>();
student["name"] = "Alex";
看一看'ExpandoObject';像那样:'dynamic exampleStudent = new ExpandoObject(); exampleStudent.name =“bla-bla-bla”;' –
为什么不使用属性名称作为关键字的对象字典? – Vincent
它与字典一起工作,但我也将考虑这些动态对象,因为它很麻烦。感谢你们两位! –