System.Runtime.Serialization.SerializationException: при создании настраиваемого дерева в C # - PullRequest
0 голосов
/ 11 июля 2019

Я хочу добавить некоторые новые функции в мой System.Web.UI.WebControls.Treeview.Tag, недоступный в System.Web.UI.WebControls.Treenode. Поэтому я расширяю функциональность Treenode, настраивая его. Но когда я использую свойство .Tag в своем коде, я получаю

System.Runtime.Serialization.SerializationException .

Может кто-нибудь сказать мне, как решить эту ошибку ?. Любая ссылка или подсказка будут полезны.

КОД

   using System.Web.UI.WebControls; 

   namespace CSASPNETInheritingFromTreeNode 
   { 
      public class CustomTreeView : TreeView 
      { 

         protected override TreeNode CreateNode() 
         { 
            return new CustomTreeNode(this, false); 
         } 
       } 

       public class CustomTreeNode : TreeNode 
       { 

           public object Tag { get; set; } 

        public CustomTreeNode() : base() 
        { 
        } 

      public CustomTreeNode(TreeView owner, bool isRoot) : base(owner, isRoot) 
      { 
      } 


      protected override void LoadViewState(object state) 
      { 
         object[] arrState = state as object[]; 
         this.Tag = arrState[0]; 
         base.LoadViewState(arrState[1]); 
      } 


      protected override object SaveViewState() 
      { 
         object[] arrState = new object[2]; 
         arrState[1] = base.SaveViewState(); 
         arrState[0] = this.Tag; 
         return arrState; 
      } 
  } 
}

Form.CS

    CustomTreeNode node = new CustomTreeNode();
    node.Tag = 'something I am doing'

В node.Tag выдает ошибку. Как побороть эту ошибку.

...