C#のクラスファイルからCodeAnalysisを使用してネームスペースを取得する
CodeAnalysisを使用したC#のクラスファイルからネームスペースを取得する方法。
CodeAnalysisはソースコードのテンプレを用意して
タグを埋め込んで書き換えなどを行っていたときに使用しました。
・環境
Unity 2020.2.6f1
Code Analysis 0.1.2-preview
/// <summary> /// ネームスペースの取得 /// </summary> public string GetNameSpace(string path) { var code = File.ReadAllText(path); var syntaxTree = CSharpSyntaxTree.ParseText(code); var compilationUnitSyntax = syntaxTree.GetCompilationUnitRoot(); var namespaceDeclarationSyntaxs = compilationUnitSyntax.DescendantNodes().OfType<NamespaceDeclarationSyntax>(); return namespaceDeclarationSyntaxs.First().Name.ToString(); }
普通にテキストファイルとして開いて取得もできるけれど
もっとスマートにやれないかなと思っていた所CodeAnalysisを見つけたので使ってみました。
CodeAnalysisとても良いですね。
他にも色々と利用しています。