Microsoft.VisualStudio.Project.NestedProjectNode.GetProperty C# (CSharp) Method

GetProperty() public method

Gets properties of a given node or of the hierarchy.
public GetProperty ( int propId ) : object
propId int Identifier of the hierarchy property
return object
        public override object GetProperty(int propId)
        {
            __VSHPROPID vshPropId = (__VSHPROPID)propId;
            switch (vshPropId)
            {
                default:
                    return base.GetProperty(propId);

                case __VSHPROPID.VSHPROPID_Expandable:
                    return true;

                case __VSHPROPID.VSHPROPID_BrowseObject:
                case __VSHPROPID.VSHPROPID_HandlesOwnReload:
                    return this.DelegateGetPropertyToNested(propId);
            }
        }

Usage Example

Esempio n. 1
0
        /// <summary>
        /// Called to reload a project item.
        /// Reloads a project and its nested project nodes.
        /// </summary>
        /// <param name="itemId">Specifies itemid from VSITEMID.</param>
        /// <param name="reserved">Reserved.</param>
        /// <returns>If the method succeeds, it returns S_OK. If it fails, it returns an error code. </returns>
        public override int ReloadItem(uint itemId, uint reserved)
        {
            #region precondition
            if (this.IsClosed)
            {
                return(VSConstants.E_FAIL);
            }
            #endregion

            NestedProjectNode node = this.NodeFromItemId(itemId) as NestedProjectNode;

            if (node != null)
            {
                object propertyAsObject = node.GetProperty((int)__VSHPROPID.VSHPROPID_HandlesOwnReload);

                if (propertyAsObject != null && (bool)propertyAsObject)
                {
                    node.ReloadItem(reserved);
                }
                else
                {
                    this.ReloadNestedProjectNode(node);
                }

                return(VSConstants.S_OK);
            }

            return(base.ReloadItem(itemId, reserved));
        }