[英]dynamic type casting of objects in C#.net
我创建了一个class student
并在该班级中创建了contact
对象(汇总)。 我正在“对象”数组中检索所有存储的对象。
如果要访问student
属性,则必须使用student
类型对其进行student
;如果要访问contact
属性,则必须给出完整路径( student_object.contact_object.attribute_name
),或者只需键入具有contact
student_object.contact_object.attribute_name
类型并获取属性值即可。
我停留在两个地方:
乔恩,实际上我已经在C#.NET中创建了一个面向对象的数据库。 上面的课程在那里 我正在检索对象数组中的所有对象。 班级学生具有字段名称和年龄,而联系人具有mobileID。 现在,我通过文本框创建查询。 如果用户想查看所有对象的名称,则可以保留var2名称。 但我无法收到此消息messageBox.show(o0作为Student).var2); 如果给我var1 messageBox.show(o0 as var1).var2),而不是Student,则相同。 我可以这样做吗? 谢谢/巴蒂
转换对于编译时信息很重要。 这排除了用户在执行时提供的任何内容。
听起来您真的需要反思:
PropertyInfo property = value.GetType().GetProperty(propertyName);
// Insert validation here...
object propertyValue = property.GetValue(value, null);
如果希望用户能够评估诸如Address.ZipCode
之类的属性的路径 ,则需要变得更聪明,但这应该为您提供一个起点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.