public IList<ITypeInfo> BuildTypeInfos() { var codeGenerator = new CodeGenerator(); var persistentTypes = XafTypesInfo.Instance.PersistentTypes; var codeInfos = persistentTypes.Select(codeGenerator.GetCode).Where(info => info != null).ToList(); var references = codeInfos.SelectMany(info => info.References).ToList(); RegisterReferences(references, typeof(ICommandChannel), typeof(CSharpCodeProvider)); var source = String.Join(Environment.NewLine, codeInfos.Select(info => info.Source).ToArray()); var compiler = new CSCodeCompiler(); compiler.Compile(source, references.ToArray(), null); return codeInfos.Select(info => info.ViewTypeInfo).ToList(); }
public IList <ITypeInfo> BuildTypeInfos() { var codeGenerator = new CodeGenerator(); var persistentTypes = XafTypesInfo.Instance.PersistentTypes; var codeInfos = persistentTypes.Select(codeGenerator.GetCode).Where(info => info != null).ToList(); var references = codeInfos.SelectMany(info => info.References).ToList(); RegisterReferences(references, typeof(ICommandChannel), typeof(CSharpCodeProvider)); var source = String.Join(Environment.NewLine, codeInfos.Select(info => info.Source).ToArray()); var compiler = new CSCodeCompiler(); compiler.Compile(source, references.ToArray(), null); return(codeInfos.Select(info => info.ViewTypeInfo).ToList()); }