CompletionDataList HandleExpressionCompletion(WebFormsExpression expr) { if (!(expr is WebFormsBindingExpression || expr is WebFormsRenderExpression)) { return(null); } INamedTypeSymbol codeBehindClass; if (!GetCodeBehind(out codeBehindClass)) { return(null); } //list just the class's properties, not properties on base types var list = new CompletionDataList(); list.AddRange(from p in codeBehindClass.GetMembers().OfType <IPropertySymbol> () where p.DeclaredAccessibility == Accessibility.Public select new AspAttributeCompletionData(p)); list.AddRange(from p in codeBehindClass.GetMembers().OfType <IFieldSymbol> () where p.DeclaredAccessibility == Accessibility.Protected || p.DeclaredAccessibility == Accessibility.Public select new AspAttributeCompletionData(p)); return(list.Count > 0? list : null); }
CompletionDataList HandleExpressionCompletion(WebFormsExpression expr) { if (!(expr is WebFormsBindingExpression || expr is WebFormsRenderExpression)) { return(null); } IType codeBehindClass; if (!GetCodeBehind(out codeBehindClass)) { return(null); } //list just the class's properties, not properties on base types var list = new CompletionDataList(); list.AddRange(from p in codeBehindClass.GetProperties() where p.IsPublic || p.IsPublic select new AspAttributeCompletionData(p)); list.AddRange(from p in codeBehindClass.GetFields() where p.IsProtected || p.IsPublic select new AspAttributeCompletionData(p)); return(list.Count > 0? list : null); }