本文整理汇总了C#中AnonymousTypeCreateExpression.AddChild方法的典型用法代码示例。如果您正苦于以下问题:C# AnonymousTypeCreateExpression.AddChild方法的具体用法?C# AnonymousTypeCreateExpression.AddChild怎么用?C# AnonymousTypeCreateExpression.AddChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AnonymousTypeCreateExpression
的用法示例。
在下文中一共展示了AnonymousTypeCreateExpression.AddChild方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Visit
public override object Visit(NewAnonymousType newAnonymousType)
{
var result = new AnonymousTypeCreateExpression();
var location = LocationsBag.GetLocations(newAnonymousType);
result.AddChild(new CSharpTokenNode(Convert(newAnonymousType.Location), ObjectCreateExpression.NewKeywordRole), ObjectCreateExpression.NewKeywordRole);
if (location != null)
result.AddChild(new CSharpTokenNode(Convert(location [0]), Roles.LBrace), Roles.LBrace);
if (newAnonymousType.Parameters != null) {
foreach (var par in newAnonymousType.Parameters) {
if (par == null)
continue;
var parLocation = LocationsBag.GetLocations(par);
if (parLocation == null) {
if (par.Expr != null)
result.AddChild((Expression)par.Expr.Accept(this), Roles.Expression);
} else {
var namedExpression = new NamedExpression();
namedExpression.AddChild(Identifier.Create(par.Name, Convert(par.Location)), Roles.Identifier);
namedExpression.AddChild(new CSharpTokenNode(Convert(parLocation [0]), Roles.Assign), Roles.Assign);
if (par.Expr != null)
namedExpression.AddChild((Expression)par.Expr.Accept(this), Roles.Expression);
result.AddChild(namedExpression, Roles.Expression);
}
}
}
if (location != null && location.Count > 1)
result.AddChild(new CSharpTokenNode(Convert(location [1]), Roles.RBrace), Roles.RBrace);
return result;
}
示例2: Visit
public override object Visit (NewAnonymousType newAnonymousType)
{
var result = new AnonymousTypeCreateExpression ();
if (newAnonymousType.Parameters == null)
return result;
foreach (var par in newAnonymousType.Parameters) {
var location = LocationsBag.GetLocations (par);
if (location == null) {
if (par.Expr != null)
result.AddChild ((Expression)par.Expr.Accept (this), AnonymousTypeCreateExpression.Roles.Expression);
} else {
var namedExpression = new NamedExpression ();
namedExpression.AddChild (Identifier.Create (par.Name, Convert (par.Location)), AnonymousTypeCreateExpression.Roles.Identifier);
namedExpression.AddChild (new CSharpTokenNode (Convert (location[0]), 1), AnonymousTypeCreateExpression.Roles.Assign);
if (par.Expr != null)
namedExpression.AddChild ((Expression)par.Expr.Accept (this), AnonymousTypeCreateExpression.Roles.Expression);
result.AddChild (namedExpression, AnonymousTypeCreateExpression.Roles.Expression);
}
}
return result;
}