static IUnresolvedTypeDefinition CreateCodeBesideClass(DocumentInfo info, WebFormsTypeContext refman) { var memberList = new WebFormsMemberListBuilder(refman, info.AspNetDocument.XDocument); memberList.Build(); var t = new ICSharpCode.NRefactory.TypeSystem.Implementation.DefaultUnresolvedTypeDefinition(info.ClassName); var dom = refman.Compilation; var baseType = ReflectionHelper.ParseReflectionName(info.BaseType).Resolve(dom); foreach (var m in WebFormsCodeBehind.GetDesignerMembers(memberList.Members.Values, baseType, null)) { t.Members.Add(new ICSharpCode.NRefactory.TypeSystem.Implementation.DefaultUnresolvedField(t, m.Name) { Accessibility = Accessibility.Protected, ReturnType = m.Type.ToTypeReference() }); } return(t); }
void AsyncUpdateDesignerFile(object sender, EventArgs e) { if (project == null) { return; } var file = project.GetProjectFile(FileName); if (file == null) { return; } var designerFile = WebFormsCodeBehind.GetDesignerFile(file); if (designerFile == null) { return; } System.Threading.ThreadPool.QueueUserWorkItem(r => { using (var monitor = MonoDevelop.Ide.IdeApp.Workbench.ProgressMonitors.GetStatusProgressMonitor( GettextCatalog.GetString("Updating ASP.NET Designer File..."), null, false)) { var writer = CodeBehindWriter.CreateForProject(monitor, project); var result = WebFormsCodeBehind.UpdateDesignerFile(writer, project, file, designerFile); //don't worry about reporting error's here for now //if the user wants to see errors, they can compile if (!result.Failed) { writer.WriteOpenFiles(); } } }); }