Mono.Addins.ExtensionTree.ReadNode C# (CSharp) Method

ReadNode() public method

public ReadNode ( Mono.Addins.TreeNode tnode, string addin, Mono.Addins.Description.ExtensionNodeType ntype, Mono.Addins.Description.ExtensionNodeDescription elem, ModuleDescription module ) : Mono.Addins.ExtensionNode
tnode Mono.Addins.TreeNode
addin string
ntype Mono.Addins.Description.ExtensionNodeType
elem Mono.Addins.Description.ExtensionNodeDescription
module Mono.Addins.Description.ModuleDescription
return Mono.Addins.ExtensionNode
        public ExtensionNode ReadNode(TreeNode tnode, string addin, ExtensionNodeType ntype, ExtensionNodeDescription elem, ModuleDescription module)
        {
            try {
                if (ntype.Type == null) {
                    if (!InitializeNodeType (ntype))
                        return null;
                }

                ExtensionNode node;
                node = Activator.CreateInstance (ntype.Type) as ExtensionNode;
                if (node == null) {
                    addinEngine.ReportError ("Extension node type '" + ntype.Type + "' must be a subclass of ExtensionNode", addin, null, false);
                    return null;
                }

                tnode.AttachExtensionNode (node);
                node.SetData (addinEngine, addin, ntype, module);
                node.Read (elem);
                return node;
            }
            catch (Exception ex) {
                addinEngine.ReportError ("Could not read extension node of type '" + ntype.Type + "' from extension path '" + tnode.GetPath() + "'", addin, ex, false);
                return null;
            }
        }