コード例 #1
0
        protected object CreateExtender(string ExtenderCATID, string ExtenderName, object ExtendeeObject, IExtenderSite ExtenderSite, int Cookie)
        {
            object extender = null;

            ExtendVersion extendVersion = GetExtendVersion(ExtenderCATID, ExtenderName, ExtendeeObject);
            if (extendVersion != ExtendVersion.None)
            {
                IVsBrowseObject browseObject = ExtendeeObject as IVsBrowseObject;
                if (browseObject == null)
                    return null;

                IVsHierarchy hierarchy;
                uint itemId;
                if (ErrorHandler.Failed(browseObject.GetProjectItem(out hierarchy, out itemId)))
                    return null;

                IVsBuildPropertyStorage buildPropertyStorage = hierarchy as IVsBuildPropertyStorage;
                if (buildPropertyStorage == null)
                    return null;

                if (extendVersion == ExtendVersion.Antlr3)
                    extender = new GrammarFileObjectExtenderProperties(buildPropertyStorage, itemId);
                else
                    extender = new GrammarFileObjectExtenderPropertiesV4(buildPropertyStorage, itemId);
            }

            return extender;
        }
コード例 #2
0
        protected object CreateExtender(string ExtenderCATID, string ExtenderName, object ExtendeeObject, IExtenderSite ExtenderSite, int Cookie)
        {
            object extender = null;

            ExtendVersion extendVersion = GetExtendVersion(ExtenderCATID, ExtenderName, ExtendeeObject);

            if (extendVersion != ExtendVersion.None)
            {
                IVsBrowseObject browseObject = ExtendeeObject as IVsBrowseObject;
                if (browseObject == null)
                {
                    return(null);
                }

                IVsHierarchy hierarchy;
                uint         itemId;
                if (ErrorHandler.Failed(browseObject.GetProjectItem(out hierarchy, out itemId)))
                {
                    return(null);
                }

                IVsBuildPropertyStorage buildPropertyStorage = hierarchy as IVsBuildPropertyStorage;
                if (buildPropertyStorage == null)
                {
                    return(null);
                }

                if (extendVersion == ExtendVersion.Antlr3)
                {
                    extender = new GrammarFileObjectExtenderProperties(buildPropertyStorage, itemId);
                }
                else
                {
                    extender = new GrammarFileObjectExtenderPropertiesV4(buildPropertyStorage, itemId);
                }
            }

            return(extender);
        }