當前位置: 首頁>>代碼示例>>C#>>正文


C# StringBuilder.WriteCStyleStringLiteral方法代碼示例

本文整理匯總了C#中System.Text.StringBuilder.WriteCStyleStringLiteral方法的典型用法代碼示例。如果您正苦於以下問題:C# StringBuilder.WriteCStyleStringLiteral方法的具體用法?C# StringBuilder.WriteCStyleStringLiteral怎麽用?C# StringBuilder.WriteCStyleStringLiteral使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Text.StringBuilder的用法示例。


在下文中一共展示了StringBuilder.WriteCStyleStringLiteral方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: GenerateCode

		public override void GenerateCode (Span target, CodeGeneratorContext context)
		{
			if (context.Host.DesignTimeMode)
				return;

			ExpressionRenderingMode oldMode = context.GetExpressionRenderingMode ();

			var sb = new StringBuilder ();
			sb.Append (", Tuple.Create<string,object,bool> (");
			sb.WriteCStyleStringLiteral (Prefix.Value);
			sb.Append (", ");

			if (ValueGenerator != null) {
				context.SetExpressionRenderingMode (ExpressionRenderingMode.InjectCode);
			} else {
				sb.WriteCStyleStringLiteral (Value);
				sb.Append (", true)");
			}
			context.BufferStatementFragment (sb.ToString ());

			if (ValueGenerator != null) {
				ValueGenerator.Value.GenerateCode (target, context);
				context.FlushBufferedStatement ();
				context.SetExpressionRenderingMode (oldMode);
				context.AddStatement (", false)");
			} else {
				context.FlushBufferedStatement ();
			}
		}
開發者ID:pabloescribanoloza,項目名稱:monodevelop,代碼行數:29,代碼來源:PreprocessedLiteralAttributeCodeGenerator.cs

示例2: GenerateStartBlockCode

		public override void GenerateStartBlockCode (Block target, CodeGeneratorContext context)
		{
			if (context.Host.DesignTimeMode)
				return;

			context.FlushBufferedStatement();

			var sb = new StringBuilder ();
			if (!string.IsNullOrEmpty (context.TargetWriterName)) {
				sb.AppendFormat (
					"{0} ({1}, ",
					context.Host.GeneratedClassContext.WriteAttributeToMethodName,
					context.TargetWriterName
				);
			} else {
				sb.AppendFormat (
					"{0} (",
					context.Host.GeneratedClassContext.WriteAttributeMethodName
				);
			}
			sb.WriteCStyleStringLiteral (Name);
			sb.Append (", ");
			sb.WriteCStyleStringLiteral (Prefix);
			sb.Append (", ");
			sb.WriteCStyleStringLiteral (Suffix);

			context.AddStatement (sb.ToString ());
		}
開發者ID:FreeBSD-DotNet,項目名稱:monodevelop,代碼行數:28,代碼來源:PreprocessedAttributeBlockCodeGenerator.cs

示例3: GenerateStartBlockCode

		public override void GenerateStartBlockCode (Block target, CodeGeneratorContext context)
		{
			if (context.Host.DesignTimeMode)
				return;

			Block child = target.Children.Where (n => n.IsBlock).Cast<Block> ().FirstOrDefault ();
			isExpression = child != null && child.Type == BlockType.Expression;

			var sb = new StringBuilder ();
			sb.Append (", Tuple.Create<string,object,bool> (");
			sb.WriteCStyleStringLiteral (Prefix.Value);
			sb.Append (", ");

			if (isExpression) {
				oldRenderingMode = context.GetExpressionRenderingMode ();
				context.SetExpressionRenderingMode (ExpressionRenderingMode.InjectCode);
			} else {
				sb.AppendFormat (
					"new {0} ({1} => {{",
					context.Host.GeneratedClassContext.TemplateTypeName,
					ValueWriterName);
			}

			context.MarkEndOfGeneratedCode ();
			context.BufferStatementFragment (sb.ToString ());

			oldTargetWriter = context.TargetWriterName;
			context.TargetWriterName = ValueWriterName;
		}
開發者ID:pabloescribanoloza,項目名稱:monodevelop,代碼行數:29,代碼來源:PreprocessedDynamicAttributeBlockCodeGenerator.cs


注:本文中的System.Text.StringBuilder.WriteCStyleStringLiteral方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。