本文整理汇总了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