我正在使用反射在TreeListView(
ObjectListView)上显示一个类.
TreeListView与ChildrenGetter()委托一起使用,该委托获取要显示的节点(参见 here).
TreeListView与ChildrenGetter()委托一起使用,该委托获取要显示的节点(参见 here).
为了显示类(我们称之为反射类),树的根是类的实例,而ChildrenGetter(对象x)使用反射来返回反射类的每个子节点的实例.
例如,对于这个类:
public class Folder { public int BuildNumber { get; set; } public int MaxSpeed { get; set; } }
根将是Folder的一个实例,它将有2个子节点,包含BuildNumber和MaxSpeed的值.
这样可以,但仅用于显示.我希望能够在UI上更改BuildNumber和MaxSpeed的值,以便它们实际上可以更改树根所包含的反射类的实例.
所以有两种方法可以做到这一点:
>保存树节点中每个节点的父(拥有类),并为每个节点创建“地址路径”,然后使用反射查找已更改的节点并实际更改它(在反射的类实例中)
>而不是包含反射类参数值的树的节点,它们可以保存某种指向反射类实例中的参数的指针.
解决方案2甚至可能吗?在C#中是否有一些指针可以允许这样的功能?
你能想到更好的解决方案吗?
笔记:
>树可以包含其他类的类,深度不受限制.现在,我没有在任何地方使用结构
>我无法改变反映的课程.它是自动生成的
>首选安全代码,但如果没有其他可用的安全代码,则可以使用
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。