• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# CodeGenerator类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中CodeGenerator的典型用法代码示例。如果您正苦于以下问题:C# CodeGenerator类的具体用法?C# CodeGenerator怎么用?C# CodeGenerator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CodeGenerator类属于命名空间,在下文中一共展示了CodeGenerator类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Page_Load

 protected void Page_Load(object sender, EventArgs e)
 {
     try
     {
         Parameter = ProjectParameter.GetSettingsByProjectName(CurrentSession.UserCode, ProjectName);
         Generator = new CodeGenerator(Parameter);
         ColumnInfos = Generator.GetColumnsInfo(TableName, PrimaryKeyOverwrite);
         ReferFolder = Path.Combine(Server.MapPath(".."), "Manage\\Refer");
         OutputFolder = Path.Combine(Server.MapPath(".."), string.Concat("Manage\\", CurrentSession.UserCode, "\\", TableName));
         if (!System.IO.Directory.Exists(OutputFolder)) System.IO.Directory.CreateDirectory(OutputFolder);
         switch (type)
         {
             case 1:
                 Search();
                 Callback();
                 Result();
                 Edit();
                 GetTogether.Mapping.MappingInfoCache.Caches.Clear();
                 if (!string.IsNullOrEmpty(Request["download"]))
                     Compress(OutputFolder, string.Concat(OutputFolder, "-Management.zip"));
                 break;
             default:
                 break;
         }
         JsonSuccess();
     }
     catch (Exception ex)
     {
         JsonError(ex.Message);
     }
 }
开发者ID:TaylorLi,项目名称:gettogether,代码行数:31,代码来源:GenerateManage.aspx.cs


示例2: CSharpTarget

 protected CSharpTarget(CodeGenerator gen, string language)
     : base(gen, language)
 {
     targetCharValueEscape[0] = "\\0";
     targetCharValueEscape[0x0007] = "\\a";
     targetCharValueEscape[0x000B] = "\\v";
 }
开发者ID:sharwell,项目名称:antlr4cs,代码行数:7,代码来源:CSharpTarget.cs


示例3: CompileTemplate

        public override TemplateInfo CompileTemplate(string templateBody, Dictionary<string, Type> globalsTypes, List<Assembly> referencedAssemblies)
        {
            lock (_templateInfoCacheLock)
            {
                // Generate template program
                TemplateInfo ti = GenerateTemplateProgram(templateBody, globalsTypes, referencedAssemblies);

                // Generated template found in cache
                if (_templateInfoCache.ContainsKey(ti.TemplateKey))
                {
                    return _templateInfoCache[ti.TemplateKey];
                }

                // Generate code
                ICodeGenerator codeGenerator = new CodeGenerator();
                ti.GeneratedSourceCode = codeGenerator.GenerateCode(ti);

                // Generate assembly
                var assemblyCompiler = new AssemblyGenerator();
                Assembly assembly = assemblyCompiler.GenerateAssembly(ti, true, null, null);

                // Try to load the Render() method from assembly
                ti.RenderMethod = GetTemplateRenderMethod(assembly, ti);

                // Try to load the template generator version from assembly
                ti.GeneratorVersion = GetTemplateGeneratorVersion(assembly, ti);

                _templateInfoCache.Add(ti.TemplateKey, ti);

                return ti;
            }
        }
开发者ID:kooboo-jifeng,项目名称:SharpTAL,代码行数:32,代码来源:MemoryTemplateCache.cs


示例4: GenerateCreateInstanceDelegate

 internal CreateInstanceDelegate GenerateCreateInstanceDelegate(Type type, ConstructorInfo constructor)
 {
     bool allowPrivateMemberAccess = !IsTypeVisible(type) || ConstructorRequiresMemberAccess(constructor);
     this.ilg = new CodeGenerator();
     try
     {
         this.ilg.BeginMethod("Create" + type.FullName, typeof(CreateInstanceDelegate), allowPrivateMemberAccess);
     }
     catch (SecurityException exception)
     {
         if (!allowPrivateMemberAccess || !exception.PermissionType.Equals(typeof(ReflectionPermission)))
         {
             throw;
         }
         if (DiagnosticUtility.ShouldTraceWarning)
         {
             DiagnosticUtility.ExceptionUtility.TraceHandledException(exception, TraceEventType.Warning);
         }
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityException(System.ServiceModel.SR.GetString("PartialTrustServiceCtorNotVisible", new object[] { type.FullName })));
     }
     if (type.IsValueType)
     {
         LocalBuilder local = this.ilg.DeclareLocal(type, type.Name + "Instance");
         this.ilg.LoadZeroValueIntoLocal(type, local);
         this.ilg.Load(local);
     }
     else
     {
         this.ilg.New(constructor);
     }
     this.ilg.ConvertValue(type, this.ilg.CurrentMethod.ReturnType);
     return (CreateInstanceDelegate) this.ilg.EndMethod();
 }
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:33,代码来源:InvokerUtil.cs


示例5: MultipleParameterGeneratesCode

		public void MultipleParameterGeneratesCode()
		{
			// Arrange
			IContainer container = new Container ();
			container.Register<ISimpleObject, SimpleObject> ();
			container.Register<IShallowDependent, ShallowDependent> ();
			container.Register<IDeepDependent, DeepDependent> ();
			container.Register<IMultipleParameterObject, MultipleParameterObject> ();
			CodeGenerator codeGenerator = new CodeGenerator ();
			MemoryStream memoryStream = new MemoryStream (); 

			// Act
			codeGenerator.WriteToStream(LanguageEnum.Csharp, container, memoryStream, "SomeNamespace", "TestContainer");
			memoryStream.Position = 0;
			string charpString;
			using (StreamReader reader = new StreamReader(memoryStream)) {
				charpString = reader.ReadToEnd ();
			}
			TestContainer testContainer = new TestContainer ();
			IMultipleParameterObject result = testContainer.Resolve<IMultipleParameterObject> ();

			// Assert
			Assert.IsNotNull (result);
			Assert.IsNotNull (result.ShallowDependent);
			Assert.IsNotNull (result.SimpleObject);
		}
开发者ID:JamesRandall,项目名称:AccidentalFish.Xamarin.DependencyInjection,代码行数:26,代码来源:CsharpGeneratorTests.cs


示例6: TestBuildCode

        protected void TestBuildCode(string classFileName, DocumentType contentType, string contentTypeName)
        {
            string expectedOutput;
            using (var goldReader = File.OpenText(@"..\..\TestFiles\" + classFileName + ".cs"))
            {
                expectedOutput = goldReader.ReadToEnd();
            }

            var configuration = CodeGeneratorConfiguration.Create();
            var typeConfig = configuration.Get(contentTypeName);
            typeConfig.BaseClass = "Umbraco.Core.Models.TypedModelBase";
            typeConfig.Namespace = "Umbraco.CodeGen.Models";

            configuration.TypeMappings.Add(new TypeMapping("Umbraco.Integer", "Int32"));

            OnConfiguring(configuration, contentTypeName);

            var sb = new StringBuilder();
            var writer = new StringWriter(sb);

            var dataTypeProvider = new TestDataTypeProvider();
            var generator = new CodeGenerator(typeConfig, dataTypeProvider, CreateGeneratorFactory());

            generator.Generate(contentType, writer);

            writer.Flush();
            Console.WriteLine(sb.ToString());

            Assert.AreEqual(expectedOutput, sb.ToString());
        }
开发者ID:scy0846,项目名称:Umbraco.CodeGen,代码行数:30,代码来源:CodeGeneratorAcceptanceTestBase.cs


示例7: ConstantQuery

        //---------------------------------------------------------------------
        public static void ConstantQuery(OleDbConnection dbcon, CodeGenerator cg)
        {
            cg.ConstantList.Clear();
            OleDbCommand cmd = new OleDbCommand("SELECT * FROM Constants ORDER BY Topic, ID", dbcon);
            OleDbDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                Constant curConst = new Constant();
                curConst.Name = dr["Name"].ToString();
                curConst.Value = dr["Value"].ToString();
                Int32 nTopic = Convert.ToInt32(dr["Topic"].ToString());
                if (nTopic > 0)
                {
                    curConst.Topic = cg.TopicList[nTopic - 1].Name.ToString();
                }
                else
                {
                    curConst.Topic = "";
                }
                curConst.Description = dr["Description"].ToString();
                cg.ConstantList.Add(curConst);

                //curConst.Print();
            }

            dr.Close();
        }
开发者ID:kevinflueckiger,项目名称:Application-SDK,代码行数:29,代码来源:DBReader.cs


示例8: DatatypeQuery

        //---------------------------------------------------------------------
        public static void DatatypeQuery(OleDbConnection dbcon, CodeGenerator cg)
        {
            cg.DataTypeList.Clear();
            OleDbCommand cmd = new OleDbCommand("SELECT * FROM DataTypes", dbcon);
            OleDbDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                DataType curDatatype = new DataType();

                curDatatype.ID = Convert.ToInt32(dr["ID"].ToString());
                curDatatype.DataTypeName = dr["DataTypeName"].ToString();
                curDatatype.CType = dr["CType"].ToString();
                curDatatype.CTypeDef = dr["CTypeDef"].ToString();

                curDatatype.CSType = dr["CSType"].ToString();
                curDatatype.CSTypeDef = dr["CSTypeDef"].ToString();

                curDatatype.VBType = dr["VBType"].ToString();
                curDatatype.VBTypeDef = dr["VBTypeDef"].ToString();

                curDatatype.PythonType = dr["PythonType"].ToString();
                curDatatype.PythonTypeDef = dr["PythonTypeDef"].ToString();

                cg.DataTypeList.Add(curDatatype);
            }

            dr.Close();
        }
开发者ID:kevinflueckiger,项目名称:Application-SDK,代码行数:30,代码来源:DBReader.cs


示例9: TestBuildCode

		private static void TestBuildCode(string fileName, string contentTypeName)
		{
		    ContentType contentType;
			var expectedOutput = "";
			using (var inputReader = File.OpenText(@"..\..\TestFiles\" + fileName + ".xml"))
			{
                contentType = new ContentTypeSerializer().Deserialize(inputReader);
            }
            using (var goldReader = File.OpenText(@"..\..\TestFiles\" + fileName + ".cs"))
			{
				expectedOutput = goldReader.ReadToEnd();
			}

			var configuration = new CodeGeneratorConfiguration();
		    configuration.TypeMappings.Add(new TypeMapping("1413afcb-d19a-4173-8e9a-68288d2a73b8", "Int32"));
		    var typeConfig = configuration.Get(contentTypeName);
		    typeConfig.BaseClass = "DocumentTypeBase";
		    typeConfig.Namespace = "Umbraco.CodeGen.Models";

		    var sb = new StringBuilder();
			var writer = new StringWriter(sb);

		    var factory = new DefaultCodeGeneratorFactory();
		    var dataTypeProvider = new TestDataTypeProvider();
		    var generator = new CodeGenerator(typeConfig, dataTypeProvider, factory);
		    generator.Generate(contentType, writer);

            writer.Flush();
            Console.WriteLine(sb.ToString());

			Assert.AreEqual(expectedOutput, sb.ToString());
		}
开发者ID:jkarsrud,项目名称:Umbraco.CodeGen,代码行数:32,代码来源:CodeGeneratorAcceptanceTests.cs


示例10: GenerateCreateXmlSerializableDelegate

 internal System.Runtime.Serialization.CreateXmlSerializableDelegate GenerateCreateXmlSerializableDelegate()
 {
     Type underlyingType = base.UnderlyingType;
     CodeGenerator generator = new CodeGenerator();
     bool allowPrivateMemberAccess = this.RequiresMemberAccessForCreate(null);
     try
     {
         generator.BeginMethod("Create" + DataContract.GetClrTypeFullName(underlyingType), typeof(System.Runtime.Serialization.CreateXmlSerializableDelegate), allowPrivateMemberAccess);
     }
     catch (SecurityException exception)
     {
         if (!allowPrivateMemberAccess || !exception.PermissionType.Equals(typeof(ReflectionPermission)))
         {
             throw;
         }
         this.RequiresMemberAccessForCreate(exception);
     }
     if (underlyingType.IsValueType)
     {
         LocalBuilder localBuilder = generator.DeclareLocal(underlyingType, underlyingType.Name + "Value");
         generator.Ldloca(localBuilder);
         generator.InitObj(underlyingType);
         generator.Ldloc(localBuilder);
     }
     else
     {
         generator.New(this.GetConstructor());
     }
     generator.ConvertValue(base.UnderlyingType, Globals.TypeOfIXmlSerializable);
     generator.Ret();
     return (System.Runtime.Serialization.CreateXmlSerializableDelegate) generator.EndMethod();
 }
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:32,代码来源:XmlDataContract.cs


示例11: DecorateCodeGenerator

        public override CodeGenerator DecorateCodeGenerator(CodeGenerator generator, CodeGeneratorContext context)
        {
            String type = ChunkHelper.GetModelTypeName(context.ChunkTreeBuilder.Root, "dynamic");
            DefaultBaseClass = $"Genny.GennyTemplate<{type}>";

            return base.DecorateCodeGenerator(generator, context);
        }
开发者ID:Muchiachio,项目名称:Genny,代码行数:7,代码来源:GennyRazorHost.cs


示例12: SourceInfo

 public SourceInfo(string source, string arg, MemberInfo memberInfo, Type type, CodeGenerator ilg) {
     this.Source = source;
     this.Arg = arg ?? source;
     this.MemberInfo = memberInfo;
     this.Type = type;
     this.ILG = ilg;
 }
开发者ID:iskiselev,项目名称:JSIL.NetFramework,代码行数:7,代码来源:SourceInfo.cs


示例13: CreateCodeFile

 private void CreateCodeFile(CodeGenerator generator)
 {
   using (IndentedTextWriter writer = CreateWriter(generator.Name + ".cs"))
   {
     generator.Write(writer, _Types);
     Close(writer);
   }
 }
开发者ID:levesque,项目名称:Magick.NET,代码行数:8,代码来源:MagickScriptGenerator.cs


示例14: Main

        static void Main(string[] args)
        {
            if (args.Length != 3)
            {
                PrintUsage();
                return;
            }

            try
            {
                string destinationNamespace = args[0].Substring(3);
                string wsdlLocation = args[1].Substring(3);
                string outputFolder = args[2].Substring(3); ;

                CodeGenerator codeGen = new CodeGenerator();

                CodeGenerationOptions options = new CodeGenerationOptions();

                options.GenerateDataContracts = false;
                options.GenerateProperties = true;
                options.GenerateCollections = false;
                options.GenerateSeparateFiles = false;
                options.OverwriteExistingFiles = true;
                options.AdjustCasing = false;
                options.EnableDataBinding = false;
                options.GenerateOrderIdentifiers = true;
                options.GenerateTypedLists = true;

                options.ClrNamespace = destinationNamespace;
                options.OutputFileName = destinationNamespace + ".cs";
                options.OutputLocation = outputFolder;
                options.ProjectDirectory = outputFolder;

                options.Language = CodeLanguage.CSharp;
                options.ConfigurationFile = "App.config";
                options.EnableWsdlEndpoint = false;
                options.FormatSoapActions = false;
                options.GenerateAsyncCode = false;

                options.GenerateService = false;

                options.GenerateSvcFile = true;
                options.ConcurrencyMode = "Single";
                options.InstanceContextMode = "PerCall";
                options.MetadataLocation = wsdlLocation;
                options.MethodImplementation = MethodImplementation.NotImplementedException;
                options.UseSynchronizationContext = true;


                codeGen.GenerateCode(options);
            }
            catch (Exception e)
            {
                System.Console.WriteLine("Exception: " + e.Message);

                PrintUsage();
            }
        }
开发者ID:gtri-iead,项目名称:LEXS-NET-Sample-Implementation-3.1.4,代码行数:58,代码来源:Program.cs


示例15: EmitCreateTargetInstance

        private static void EmitCreateTargetInstance(Type targetType, TypeBuilder typeBuilder)
        {
            MethodBuilder methodBuilder = typeBuilder.DefineMethod(CreateTargetInstanceMethod, OverrideProtected, targetType, Type.EmptyTypes);
            var codeGenerator = new CodeGenerator(methodBuilder.GetILGenerator());

            IEmitterType result = targetType.IsValueType ? EmitValueType(targetType, codeGenerator) : EmitRefType(targetType);

            EmitReturn.Return(result, targetType).Emit(codeGenerator);
        }
开发者ID:DeanMilojevic,项目名称:TinyMapper,代码行数:9,代码来源:ClassMapperBuilder.cs


示例16: ApplyCodeGenerationProperties

		static void ApplyCodeGenerationProperties(CodeGenerator generator)
		{
			CodeGeneratorOptions options = generator.Options;
			System.CodeDom.Compiler.CodeGeneratorOptions cdo = new CodeDOMGeneratorUtility().CreateCodeGeneratorOptions;
			
			options.EmptyLinesBetweenMembers = cdo.BlankLinesBetweenMembers;
			options.BracesOnSameLine = CodeGenerationProperties.Get("StartBlockOnSameLine", true);;
			options.IndentString = cdo.IndentString;
		}
开发者ID:Altaxo,项目名称:Altaxo,代码行数:9,代码来源:AmbienceService.cs


示例17: Char_Default

 public void Char_Default()
 {
     var codeGenerator = new CodeGenerator();
     CodeGeneratorProperty generatedProperty = codeGenerator.GenerateFromType<Char>();
     Assert.AreEqual(WidgetType.TextBox, generatedProperty.WidgetType);
     Assert.AreEqual(DatabaseColumnType.Char, generatedProperty.DatabaseColumn.Type);
     Assert.AreEqual(1, generatedProperty.DatabaseColumn.Size);
     Assert.AreEqual(MaskType.None, generatedProperty.Mask);
 }
开发者ID:inspira,项目名称:Inspira.AutoGenMvc3,代码行数:9,代码来源:for_platform_modeltypes_without_metadata.cs


示例18: DelegateManager

 public DelegateManager() {
     basetype = typeof(Dispatcher);
     listtype = typeof(ArrayList);
     voidtype = typeof(void);
     typetype = typeof(Type);
     ptrtype = typeof(IntPtr);
     cache = new Hashtable();
     codeGenerator = new CodeGenerator();
 }
开发者ID:JackHang,项目名称:Wox,代码行数:9,代码来源:delegatemanager.cs


示例19: BuildTypeInfos

 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());
     TypeGenerator.CreateDll(source, references.ToArray(), null);
     return codeInfos.Select(info => info.ViewTypeInfo).ToList();
 }
开发者ID:dimajanzen,项目名称:eXpand,代码行数:10,代码来源:ObjectToViewMapper.cs


示例20: String_Default

 public void String_Default()
 {
     var codeGenerator = new CodeGenerator();
     CodeGeneratorProperty generatedProperty = codeGenerator.GenerateFromType<String>();
     Assert.AreEqual(WidgetType.TextBox, generatedProperty.WidgetType);
     Assert.AreEqual(DatabaseColumnType.VarChar, generatedProperty.DatabaseColumn.Type);
     Assert.AreEqual(ValidationType.None, generatedProperty.Validation.Type);
     Assert.AreEqual(50, generatedProperty.DatabaseColumn.Size);
     Assert.AreEqual(MaskType.None, generatedProperty.Mask);
 }
开发者ID:inspira,项目名称:Inspira.AutoGenMvc3,代码行数:10,代码来源:for_platform_modeltypes_without_metadata.cs



注:本文中的CodeGenerator类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# CodeLanguage类代码示例发布时间:2022-05-24
下一篇:
C# CodeGenerationOptions类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap