C# Error CS1952 – An expression tree lambda may not contain a method with variable arguments

C# Error

CS1952 – An expression tree lambda may not contain a method with variable arguments

Reason for the Error & Solution

An expression tree lambda may not contain a method with variable arguments

The unsupported __arglist keyword is not allowed in lambda expressions that compile to expression trees.

To correct this error

  1. Forget that you ever heard of __arglist.

Example

The following code produces CS1952:

// cs1952.cs  
using System;  
using System.Linq.Expressions;  
  
class Test  
{  
    public static int M(__arglist)  
    {  
        return 1;  
    }  
  
    static int Main()  
    {  
        Expression<Func<int, int>> f = x => Test.M(__arglist(x)); // CS1952  
        return 1;  
    }  
}