Ejemplo n.º 1
0
        public override bool IsEnabledFor(object target)
        {
            string expectedLanguage = CodeModelLanguageConstants.vsCMLanguageCSharp;

            if (target is Project)
            {
                Project project = (Project)target;
                return((project.CodeModel.Language == expectedLanguage) && ContainsRequiredReferences((Project)target));
            }
            if (target is ProjectItem)
            {
                ProjectItem item = (ProjectItem)target;
                bool        haveADSAClass;
                CodeClass   codeClass;

                // We avoid the "Class not yet compiled" exception. Because this is a Reference class.
                try
                {
                    haveADSAClass = CodeModelHelper.HaveAClassInProjectItems(target, out codeClass, CodeModelHelper.IsDSAClass);
                }
                catch
                {
                    haveADSAClass = false;
                }
                if (item.Kind == "{6BB5F8EF-4483-11D3-8BCF-00C04F8EC28C}" &&
                    IsNotWebReference(item) &&
                    (item.ContainingProject.CodeModel.Language == expectedLanguage) &&
                    !haveADSAClass)
                {
                    return(ContainsRequiredReferences(item.ContainingProject));
                }
                return(false);
            }
            return(false);
        }
 public override bool OnBeginRecipe(object currentValue, out object newValue)
 {
     newValue = null;
     if (currentValue == null)
     {
         ProjectItem currentItem = ExpressionEvaluationHelper.EvaluateExpression((IDictionaryService)GetService(typeof(IDictionaryService)),
                                                                                 currentItemExpression) as ProjectItem;
         if (currentItem != null)
         {
             CodeClass codeClass;
             if (CodeModelHelper.HaveAClassInProjectItems(currentItem, out codeClass, CodeModelHelper.IsDSAClass))
             {
                 newValue = codeClass;
             }
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 3
0
        public override bool IsEnabledFor(object target)
        {
            CodeClass codeClass = null;
            bool      haveADSAClass;

            // We avoid the "Class not yet compiled" exception. Because this is a Reference class.
            try
            {
                haveADSAClass = CodeModelHelper.HaveAClassInProjectItems(target, out codeClass, CodeModelHelper.IsDSAClass);
            }
            catch
            {
                haveADSAClass = false;
            }

            if (target is ProjectItem &&
                haveADSAClass)
            {
                return(codeClass.Language == CodeModelLanguageConstants.vsCMLanguageCSharp);
            }
            return(false);
        }