![](/img/trans.png)
[英]Roslyn : How to get the Namespace of a DeclarationSyntax with Roslyn C#
[英]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)
您需要从Compilation
或Project
获取SemanticModel。
一旦有了它,就可以调用GetSymbol()
来获取传递的值的类型(该值可能与属性的构造函数参数的类型不同)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.