2017-01-30 9 views
0

にAttributeArgumentListSyntaxから(名前、タイプ)を取得する私は(名前、タイプ)のリストを取得したいAttributeArgumentListSyntaxはどのようにRoslynのC#の

public static List<Tuple<string, string>> GetArguments(this AttributeSyntax node) 
    { 
     var args = node.ArgumentList.Arguments.ToList(); 
     if (args.Count > 0) 
     { 
      var list = new List<Tuple<string, string>>(); 
      foreach (var arg in args) 
      { 
       var name = ""; // ?????????????? 
       var type = ""; // ?????????????? 
       list.Add(new Tuple<string, string>(name, type)); 
      } 
      return list; 
     } 
     return null; 
    } 

から誰も私を助けることができますか?

[Obsolete("A",true)] 
public DateTime ModifiedDate { get; set; } 


(A,string) 
(true,bool) 

答えて

2

あなたのCompilationProjectからSemanticModelを取得する必要があります。このような

結果。

これを取得したら、GetSymbol()を呼び出して、渡された値の型を取得できます(属性のコンストラクタパラメータの型と同じでない可能性があります)。