簡體   English   中英

如何從Roslyn C#中的AttributeArgumentListSyntax獲取(名稱,類型)

[英]How to get (name,type) from AttributeArgumentListSyntax in Roslyn C#

我想從AttributeArgumentListSyntax獲取(名稱,類型)的列表

    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)

您需要從CompilationProject獲取SemanticModel。

一旦有了它,就可以調用GetSymbol()來獲取傳遞的值的類型(該值可能與屬性的構造函數參數的類型不同)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM