0
私は、次のコードを持っています"DateTime"型のフィールドを持つ匿名型の列挙型として推論することができます。しかし、それは失敗し、ErrorTypeを示します。ロザリンセマンティックモデルからGetTypeInfoのは、「VAR」の種類を見つけるために失敗した
Visual Studioでは、次の図のように表示されます。
私はロスリンからこれを取得するために使用していたコードは次のとおりです。
public void GetType(SyntaxTree tree)
{
var Mscorlib = MetadataReference.CreateFromFile(typeof(object).Assembly.Location);
var compilation = CSharpCompilation.Create("RoslynVar", syntaxTrees: new[] { tree }, references: new[] { Mscorlib });
VariableDeclarationSyntax variable = ... // get the relevant variable
TypeInfo symbolInfo = semanticModel.GetTypeInfo(variable.Type);
}
は、あなたがこれを行うために使用されるコードを表示することができます:
また、あなたは
var query =
の後の部分があるVariableDeclaratorSyntax.Initializer
、からITypeSymbol
より具体的に得ることができますか? –セマンティックモデルの診断を確認してください。たぶんあなたはSystem.Coreへの参照がないでしょう – user2697817