public static ObjectEntry Add(string name, object instance, COMInterfaceEntry[] interfaces)
        {
            ObjectEntry ret = new ObjectEntry(name, instance, interfaces);
            m_objects.Add(ret);

            return ret;
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="objName">Descriptive name of the object</param>
        /// <param name="pObject">Managed wrapper to the object</param>
        /// <param name="properties">List of textual properties to display</param>
        /// <param name="interfaces">List of available interfaces</param>
        public ObjectInformation(string objName, Object pObject, Dictionary<string, string> properties, COMInterfaceEntry[] interfaces)
        {
            m_pEntry = ObjectCache.Add(objName, pObject, interfaces);
            m_pObject = pObject;
            m_properties = properties;
            m_interfaces = interfaces;
            m_objName = objName;
            InitializeComponent();

            LoadProperties();
            LoadInterfaces();
            Text = m_objName;
            listViewInterfaces.ListViewItemSorter = new ListItemComparer(0);
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="strObjName">Descriptive name of the object</param>
        /// <param name="pEntry">Instance of the object</param>
        /// <param name="dispType">Reflected type</param>
        public TypedObjectViewer(string strObjName, ObjectEntry pEntry, Type dispType)
        {
            m_pEntry = pEntry;
            m_pObject = pEntry.Instance;
            m_objName = strObjName;
            m_dispType = dispType;
            InitializeComponent();

            HighlightingManager.Manager.AddSyntaxModeFileProvider(new SimpleSyntaxModeProvider("Python.xshd", "Python", ".py", Properties.Resources.PythonHighlightingRules));

            textEditorControl.SetHighlighting("Python");

            LoadDispatch();
            Text = String.Format("{0} {1}", m_objName, m_dispType.Name);
        }
 public static void Remove(ObjectEntry instance)
 {
     m_objects.Remove(instance);
 }