如何在JSON中为treenode存储“选择处理程序”?

时间:2019-04-09 02:47:42

标签: c# json user-interface

我正在创建Windows桌面应用程序。 我有一个TreeView对象,我将所有treenodes属性存储到一个json文件中。 我想在TreeNode对象中嵌入“选择”处理程序。 因此,我创建了一个ItemNode对象,该对象使用SelectedHandler属性扩展了TreeNode对象。

代码如下:

using System;
using System.Windows.Forms;

namespace UITesting
{
    internal class ItemNode:TreeNode
    {
      public Action SelectedHandler { get; set; }
    }
}

但是,我不知道如何在json文件中存储“选择”处理程序方法。 如何在json文件中存储“选择”处理程序方法?

当前,我正在使用以下代码从json文件中反序列化对象。

 JavaScriptSerializer jss;
 ItemNode itemNode=null;
 using (StreamReader r = new StreamReader("ItemNode.json"))
 {
     string json = r.ReadToEnd();
     itemNode = jss.Deserialize<ItemNode>(json);
 }

这是我的json文件(即ItemNode.json)

{
    "Text": "Administration",
    "Name": "Administration",
    "ImageIndex": "2",
    "SelectedImageIndex": "2",
    "SelectedHandler": "test()"
}

我的目标是在treeview afterselect事件处理程序中:

 private void Tree1_AfterSelect(object sender, TreeViewEventArgs e)
 {
        ItemNode node = (ItemNode)e.Node;
        node.SelectedHandler(); //I would appreciate if it can support parameter  
 }

0 个答案:

没有答案