本文整理汇总了C#中Microsoft.CodeAnalysis.CSharp.Syntax.ParameterSyntax.GetLeadingTrivia方法的典型用法代码示例。如果您正苦于以下问题:C# ParameterSyntax.GetLeadingTrivia方法的具体用法?C# ParameterSyntax.GetLeadingTrivia怎么用?C# ParameterSyntax.GetLeadingTrivia使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.CodeAnalysis.CSharp.Syntax.ParameterSyntax
的用法示例。
在下文中一共展示了ParameterSyntax.GetLeadingTrivia方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TraverseParamaters
private Variables TraverseParamaters(ParameterSyntax ps, bool isRef = false)
{
Variables retVar = new Variables();
if (ps.HasLeadingTrivia)
{
SetOuterComments(retVar, ps.GetLeadingTrivia().ToFullString());
}
if (ps.HasTrailingTrivia)
{
SetInnerComments(retVar, ps.GetTrailingTrivia().ToFullString());
}
retVar.IsReferenced = isRef;
TypeSyntax ts = ps.Type;
//Breakpoint here to test return type!
Model.Type retType = new Model.Type();
retType.Name = ts.ToString();
retType.IsKnownType = SyntaxFacts.IsKeywordKind(ts.CSharpKind());
retType.IsNotUserDefined = SyntaxFacts.IsKeywordKind(ts.CSharpKind());
//rettype.generictype
retVar.Type = retType;
foreach (SyntaxToken st in ps.Modifiers)
{
string modifier = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(st.ValueText);
Encapsulation encap;
Qualifiers qual;
if (System.Enum.TryParse<Encapsulation>(modifier, out encap))
{
retVar.Accessibility.Add(encap);
}
else if (System.Enum.TryParse<Qualifiers>(modifier, out qual))
{
retVar.Qualifiers.Add(qual);
}
else if (modifier == "Ref")
{
//TODO handle ref
}
}
//need retvar's name
//TODO check if this actually works
retVar.Name = ps.Identifier.ValueText;
return retVar;
}