本文整理汇总了C#中Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax.IsUnSafe方法的典型用法代码示例。如果您正苦于以下问题:C# MethodDeclarationSyntax.IsUnSafe方法的具体用法?C# MethodDeclarationSyntax.IsUnSafe怎么用?C# MethodDeclarationSyntax.IsUnSafe使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax
的用法示例。
在下文中一共展示了MethodDeclarationSyntax.IsUnSafe方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: VisitMethodDeclaration
public override SyntaxNode VisitMethodDeclaration(MethodDeclarationSyntax node)
{
if (node.IsUnSafe())
{
this.AppendCompileIssue(node, IssueType.Error, IssueId.UnsafeNotSupport);
return node;
}
if (node.IsExtern())
{
this.AppendCompileIssue(node, IssueType.Error, IssueId.ExternNotSupport);
return node;
}
var info = _semanticModel.GetDeclaredSymbol(node);
_isNative = info.IsNativeMethod();
var rInfo = _semanticModel.GetTypeInfo(node.ReturnType);
if (!rInfo.Type.IsScriptSymbol())
{
this.AppendCompileIssue(node, IssueType.Error, IssueId.UseNonScript, rInfo.Type);
}
BasicMethodTemplate template = _template.CreateMethodTemplate(_isStaticMember);
template.Assign(BasicMethodTemplate.CLASS, _currentClass).Assign(BasicMethodTemplate.METHOD, info.GetMemberSymbolName()).Assign(BasicMethodTemplate.ARGS, this.MakeParametersList(node.ParameterList));
_output.Write(node.Identifier, template.GetBeginString());
if (_indentMember)
_output.IncreaseIndent();
if (node.Body != null)
this.VisitBlock(node.Body);
if (node.ExpressionBody != null)
{
if (!_semanticModel.IsVoid(node))
_output.Write(node.ExpressionBody, "return ");
this.Visit(node.ExpressionBody);
_output.TrivialWriteLine(';');
}
if (_indentMember)
_output.DecreaseIndent();
_output.TrivialWrite(template.GetEndString());
this._isNative = false;
return node;
}