c# – 间接改变类参数
我正在使用反射在TreeListView(
ObjectListView)上显示一个类.
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#中是否有一些指针可以允许这样的功能? 你能想到更好的解决方案吗? 笔记: >树可以包含其他类的类,深度不受限制.现在,我没有在任何地方使用结构 解决方法
如果您能够将一些元数据附加到您创建的控件/树项,则可以创建一个Action< T>并将其分配给标签或类似的东西.
如果你有它的实例,你可以这样(使用字符串作为样本数据类型): Action<string> action = val => instance.X = val; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |