我可以用一個SyntaxGenerator產生類型的參數的Int32是這樣的...如何爲任意類型創建Roslyn ITypeSymbol?
var generator = SyntaxGenerator.GetGenerator(document);
var paramType = generator.TypeExpression(SpecialType.System_Int32);
var param = generator.ParameterDeclaration("MyParam", paramType);
我應該使用什麼等價代碼來創建類型的數據集的參數?
我相信我需要創建一個ITypeSymbol傳遞給generator.TypeExpression,但如何做到這一點?
在什麼情況下你要做到這一點?你有沒有訪問語義模型或編譯?如果是這樣,那麼你可以使用'SyntaxFactory.ParseTypeName()'從任何類型名稱中獲得'TypeSyntax'。然後,可以通過語義模型獲取類型符號。 – Tamas
瞭解到我對Roslyn很新... 我試圖從DiagnosticAnalyzers,CodeFixProviders和RefactoringProviders的上下文中做到這一點,但是對於Roslyn來說是新的,我不確定我在處理中有什麼這種情況。 我希望能夠以與語言無關的方式實現此目的,因此使用SyntaxGenerator而不是SyntaxFactory,但如果可以在運行時找到對正確的SyntaxFactory的引用,那麼可能會有效。 –