1
에 할당 된 경우 Roslyn 확인 나는 키를 RESX 파일의 리소스를 사용하도록 변환하는 앱을 작성하고 있습니다. 이 코드는 전에 지역 변수와 함께 일하고 :필드 선언이
Additional information: statementOrExpression is not a StatementSyntax or an ExpressionSyntax.
방법 단지 누군가가이 변수에 기록되었는지 확인해야 이상적 수 있습니다 : 나는 dataFlowAnalysis을 얻을 때
public static void AnalyzeConstDeclaration(SyntaxNodeAnalysisContext context)
{
var fieldDeclaration = (FieldDeclarationSyntax)context.Node;
if (false == IsValidFieldDeclaration(context, fieldDeclaration))
{
return;
}
var firstVariable = fieldDeclaration.Declaration.Variables.FirstOrDefault();
var dataFlowAnalysis = context.SemanticModel.AnalyzeDataFlow(firstVariable);
var variableSymbol = context.SemanticModel.GetDeclaredSymbol(firstVariable);
if (dataFlowAnalysis.WrittenOutside.Contains(variableSymbol))
{
return;
}
var firstSymbol = context.SemanticModel.GetDeclaredSymbol(firstVariable);
context.ReportDiagnostic(Diagnostic.Create(Rule, context.Node.GetLocation(), firstSymbol.Name));
}
그러나 나는 오류가 발생 선언 밖에서.