本文整理汇总了C#中IExpression.ToList方法的典型用法代码示例。如果您正苦于以下问题:C# IExpression.ToList方法的具体用法?C# IExpression.ToList怎么用?C# IExpression.ToList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IExpression
的用法示例。
在下文中一共展示了IExpression.ToList方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Rewrite
public override IExpression Rewrite(IMethodCall methodCall)
{
var newSeq = new List<List<Reposition>>();
var thisMethod = methodCall.MethodToCall.ResolvedMethod;
var types = thisMethod.Parameters.Select(p => p.Type.ResolvedType).ToList();
var groups = types.Select( (t, i) => new{t,i}).GroupBy(a => a.t, a=>a.i);
newSeq.AddRange(from @group in groups
select @group.RotateRight(1).Select((i, index) =>
new Reposition(i, @group.ElementAt(index))).ToList());
var newArgs = new IExpression[types.Count];
foreach (var repos in newSeq.Flatten())
{
newArgs[repos.NewPos] = methodCall.Arguments.ElementAt(repos.OldPos);
}
return new MethodCall(methodCall)
{
Arguments = newArgs.ToList()
};
}