本文整理汇总了C#中SyntaxWriter.WriteStartBlock方法的典型用法代码示例。如果您正苦于以下问题:C# SyntaxWriter.WriteStartBlock方法的具体用法?C# SyntaxWriter.WriteStartBlock怎么用?C# SyntaxWriter.WriteStartBlock使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SyntaxWriter
的用法示例。
在下文中一共展示了SyntaxWriter.WriteStartBlock方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteSyntax
/// <inheritdoc />
public override void WriteSyntax(XPathNavigator reflection, SyntaxWriter writer)
{
writer.WriteStartBlock(this.Language, this.StyleId);
// Check the list of assemblies for which to generate XAML syntax
string assemblyName = (string)reflection.Evaluate(apiContainingAssemblyExpression);
string namespaceName = (string)reflection.Evaluate(apiContainingNamespaceNameExpression);
if(!xamlAssemblies.ContainsKey(assemblyName))
{
WriteXamlBoilerplate(XamlBoilerplateID.nonXamlAssemblyBoilerplate, writer);
}
else
{
string group = (string)reflection.Evaluate(apiGroupExpression);
switch(group)
{
case "namespace":
WriteNamespaceSyntax(reflection, writer);
break;
case "type":
WriteTypeSyntax(reflection, writer);
break;
case "member":
WriteMemberSyntax(reflection, writer);
break;
}
WriteXamlXmlnsUri(assemblyName, namespaceName, writer);
}
writer.WriteEndBlock();
}
示例2: WritePropertySyntax
/// <summary>
/// Write out property syntax
/// </summary>
/// <param name="reflection">An XPath navigator containing the member information</param>
/// <param name="writer">The syntax writer to which the information is written</param>
/// <param name="prefix">The web control prefix to use</param>
private static void WritePropertySyntax(XPathNavigator reflection, SyntaxWriter writer, string prefix)
{
bool set = (bool)reflection.Evaluate(propertyIsSettable);
if(!set)
return;
string name = (string)reflection.Evaluate(nameExpression);
string declaringType = (string)reflection.Evaluate(declaringTypeExpression);
string propertyType = (string)reflection.Evaluate(propertyTypeExpression);
bool isInnerProperty = (bool)reflection.Evaluate(propertyIsInnerProperty);
writer.WriteStartBlock(LanguageName, StyleIdName);
if(isInnerProperty)
{
// inner property logic
writer.WriteString("<");
writer.WriteString(prefix);
writer.WriteString(":");
writer.WriteReferenceLink(declaringType);
writer.WriteString(">");
writer.WriteLine();
writer.WriteString("\t");
writer.WriteString("<");
writer.WriteString(name);
writer.WriteString(">");
if(String.IsNullOrEmpty(propertyType))
writer.WriteParameter("value");
else
if(propertyType == "T:System.Boolean")
writer.WriteString("True|False");
else
writer.WriteReferenceLink(propertyType);
writer.WriteString("</");
writer.WriteString(name);
writer.WriteString(">");
writer.WriteLine();
writer.WriteString("</");
writer.WriteString(prefix);
writer.WriteString(":");
writer.WriteReferenceLink(declaringType);
writer.WriteString(">");
}
else
{
// normal property logic
writer.WriteString("<");
writer.WriteString(prefix);
writer.WriteString(":");
writer.WriteReferenceLink(declaringType);
writer.WriteString(" ");
writer.WriteString(name);
writer.WriteString("=\"");
if(String.IsNullOrEmpty(propertyType))
writer.WriteParameter("value");
else
if(propertyType == "T:System.Boolean")
writer.WriteString("True|False");
else
writer.WriteReferenceLink(propertyType);
writer.WriteString("\" />");
}
writer.WriteEndBlock();
}
示例3: WriteEventSyntax
/// <summary>
/// Write out event syntax
/// </summary>
/// <param name="reflection">An XPath navigator containing the member information</param>
/// <param name="writer">The syntax writer to which the information is written</param>
/// <param name="prefix">The web control prefix to use</param>
private static void WriteEventSyntax(XPathNavigator reflection, SyntaxWriter writer, string prefix)
{
string name = (string)reflection.Evaluate(nameExpression);
string declaringType = (string)reflection.Evaluate(declaringTypeExpression);
string handlerType = (string)reflection.Evaluate(eventHandlerTypeExpression);
writer.WriteStartBlock(LanguageName, StyleIdName);
writer.WriteString("<");
writer.WriteString(prefix);
writer.WriteString(":");
writer.WriteReferenceLink(declaringType);
writer.WriteString(" ");
writer.WriteString("On");
writer.WriteString(name);
writer.WriteString("=\"");
writer.WriteReferenceLink(handlerType);
writer.WriteString("\" />");
writer.WriteEndBlock();
}
示例4: WriteClassSyntax
/// <summary>
/// Write out class syntax
/// </summary>
/// <param name="reflection">An XPath navigator containing the member information</param>
/// <param name="writer">The syntax writer to which the information is written</param>
/// <param name="prefix">The web control prefix to use</param>
private static void WriteClassSyntax(XPathNavigator reflection, SyntaxWriter writer, string prefix)
{
string name = (string)reflection.Evaluate(nameExpression);
writer.WriteStartBlock(LanguageName, StyleIdName);
writer.WriteString("<");
writer.WriteString(prefix);
writer.WriteString(":");
writer.WriteString(name);
writer.WriteString(" />");
writer.WriteEndBlock();
}