I'm getting the above error on the ToList() line of the code below
if (emailReplyTo != null)
{
System.Collections.Generic.List<String> replyto
= emailReplyTo
// Strip uneccessary spaces
.Replace(", ", ",")
.Split(',')
.ToList();
request.WithReplyToAddresses(emailReplyTo);
}
I have included using System.Collections;
at the top of my file.
The target framework is 3.5, so why is this causing an error?
The ToList
method you are looking for is an extension method. Try adding this using
directive to the top of your file:
using System.Linq;
By adding this using
directive you are indicating to the compiler that any extension methods in that namespace should be imported. It's kind of a shame that there isn't more help from Visual Studio around importing extension methods (ReSharper does this rather nicely).
In case someone stumbles on this questions after googling...
I had the exact same problem in Razor views and adding using System.Linq
at the top didn't help.
What did help is calling .Cast()
before using Linq extension methods:
myArrayVariable.Cast<SomeClass>().ToList() //ok, NOW ToList works fine
You can also do this without .toList, saves including an entire library for no real reason.
new List(array)
ToList() is an extension method. Maybe you're missing the
using System.Linq;
This is simply because ArrayList
does not expose a method named ToList
.
See this MSDN page for a table view of the members available to you.
As explained by others, you may access this extension method by importing the Linq library:
using System.Linq;
Also, see this link for a custom implementation of such, should you desire to implement one.
It's because the Enumerable extension methods aren't available.
You need to add "using System.Linq"
This worked for me:
var lst = ((IEnumerable<XElement>)doc.Element("cards").Elements("card")).ToList();
My initial result was simply a dynamic. The .Cast() method gave me the same error as ToList() but this did the trick.