本文整理匯總了C#中Mono.CodeGeneration.CodeWriter類的典型用法代碼示例。如果您正苦於以下問題:C# CodeWriter類的具體用法?C# CodeWriter怎麽用?C# CodeWriter使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
CodeWriter類屬於Mono.CodeGeneration命名空間,在下文中一共展示了CodeWriter類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: PrintCode
public string PrintCode ()
{
StringWriter sw = new StringWriter ();
CodeWriter cw = new CodeWriter (sw);
PrintCode (cw);
return sw.ToString ();
}
示例2: PrintCode
public override void PrintCode (CodeWriter cp)
{
if (tryBlock == null) return;
cp.Write ("try {");
cp.Indent ();
condition.PrintCode (cp);
cp.Unindent ();
foreach (DictionaryEntry de in catchBlocks) {
CodeVariableDeclaration vd = (CodeVariableDeclaration) de.Key;
cp.Write ("} catch (");
if (vd.Variable.Name.Length > 0)
vd.PrintCode (cp);
else
cp.Write (vd.Variable.Type.FullName);
cp.Write (") {");
cp.Indent ();
((CodeBlock) de.Value).PrintCode (cp);
cp.Unindent ();
}
if (!finallyBlock.IsEmpty) {
cp.Write ("} finally {");
cp.Indent ();
finallyBlock.PrintCode (cp);
cp.Unindent ();
}
cp.Write ("}");
}
示例3: PrintCode
public override void PrintCode (CodeWriter cp)
{
foreach (CodeItem item in statements) {
cp.BeginLine ();
item.PrintCode (cp);
cp.Write (";");
cp.EndLine ();
}
}
示例4: PrintCode
public override void PrintCode (CodeWriter cp)
{
cp.Write ("(");
condition.PrintCode (cp);
cp.Write (") ? ");
trueBlock.PrintCode (cp);
cp.Write (" : ");
falseBlock.PrintCode (cp);
}
示例5: PrintCode
public override void PrintCode (CodeWriter cp)
{
if (object.ReferenceEquals (retValue, null))
cp.Write ("return");
else {
cp.Write ("return ");
retValue.PrintCode (cp);
}
}
示例6: PrintCode
public override void PrintCode (CodeWriter cp)
{
if (!field.IsStatic)
target.PrintCode (cp);
else
cp.Write (field.DeclaringType.Name);
cp.Write (".");
cp.Write (field.Name);
}
示例7: PrintCode
public override void PrintCode(CodeWriter cp)
{
cp.Write ("new " + type.Name + " (");
for (int n=0; n<parameters.Length; n++) {
if (n > 0) cp.Write (", ");
parameters[n].PrintCode (cp);
}
cp.Write (")");
}
示例8: PrintCode
public override void PrintCode (CodeWriter cp)
{
cp.Write ("while (");
condition.PrintCode (cp);
cp.Write (") {");
cp.EndLine ();
cp.Indent ();
whileBlock.PrintCode (cp);
cp.Unindent ();
cp.BeginLine ().Write ("}");
}
示例9: PrintCode
public override void PrintCode (CodeWriter cp)
{
cp.Write ("for (");
initExp.PrintCode (cp);
cp.Write (";");
conditionExp.PrintCode (cp);
cp.Write (";");
nextExp.PrintCode (cp);
cp.Write (") {");
cp.EndLine ();
cp.Indent ();
forBlock.PrintCode (cp);
cp.Unindent ();
cp.BeginLine ().Write ("}");
}
示例10: PrintCode
public override void PrintCode (CodeWriter cp)
{
if (trueBlock == null) return;
cp.Write ("if (");
condition.PrintCode (cp);
cp.Write (") {");
cp.EndLine ();
cp.Indent ();
trueBlock.PrintCode (cp);
cp.Unindent ();
cp.BeginLine ().Write ("}");
if (falseBlock != null) {
cp.EndLine ();
cp.WriteLineInd ("else {");
falseBlock.PrintCode (cp);
cp.Unindent ();
cp.BeginLine ().Write ("}");
}
}
示例11: PrintCode
public override void PrintCode (CodeWriter cp)
{
for (int n=0; n<blocks.Count; n++) {
if (n == 0)
cp.Write ("if (");
else
cp.Write ("else if (");
((CodeExpression)conditions[n]).PrintCode (cp);
cp.Write (") {");
cp.EndLine ();
cp.Indent ();
((CodeBlock) blocks[n]).PrintCode (cp);
cp.Unindent ();
cp.BeginLine ().Write ("}");
if (n < blocks.Count - 1) {
cp.EndLine ();
cp.BeginLine ();
}
}
}
示例12: PrintCode
public override void PrintCode(CodeWriter cp)
{
exp.PrintCode (cp);
cp.Write (" is ");
cp.Write (type.FullName);
}
示例13: PrintCode
public override void PrintCode (CodeWriter cp)
{
cp.Write ("new " + elemType.Name + " [");
size.PrintCode (cp);
cp.Write ("]");
}
示例14: PrintCode
public override void PrintCode (CodeWriter cp)
{
if (value is string)
cp.Write ("\"").Write (value.ToString ()).Write ("\"");
else if (value == null)
cp.Write ("null");
else if (value is Type)
cp.Write ("typeof(" + ((Type)value).Name + ")");
else if (value is Enum)
cp.Write (value.GetType().Name + "." + value);
else
cp.Write (value.ToString ());
}
示例15: PrintCode
public override void PrintCode(CodeWriter cp)
{
exp1.PrintCode (cp);
cp.Write (" " + symbol + " ");
exp2.PrintCode (cp);
}