本文整理匯總了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 ();
}
}
示例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 ());
}
示例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