Click here to Skip to main content
11,437,713 members (34,972 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: Silverlight
I don't understand why I'm getting the following error:

Cannot implicitly convert type 'System.Collections.Generic.List<Contract>' to 'System.Collections.Generic.List<string>'


public class Service : IService
{
    public List<string> GetContract(string Contract)
    {
        Contract_GenDataContext db = new Contract_GenDataContext();
        var matchingContract = from con in db.Contracts
                               where con.Contract1.Contains(Contract)
                               select con;
        return matchingContract.ToList();
    }
}
Posted 18-Jul-10 23:14pm
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Don't you think the reason is obvious and clear! You are trying to return Generic List of type contract where the return types defined is List of type string?

Change the return type to List<Contract> OR convert List<Contract> to List<String> explicitly.

public List<Contract> GetContract(string Contract)
{
    Contract_GenDataContext db = new Contract_GenDataContext();
    var matchingContract = from con in db.Contracts
                           where con.Contract1.Contains(Contract)
                           select con;
    return matchingContract.ToList();
}
  Permalink  
v2
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

Hi,

The collection you are returning here i.e. matchingContract is a type of Contract and db.Contracts is a collection of Contract.

But, as your method return type is of type List it is throwing Conversion Error. The message shown by Visual Studio is proper and you can easily get the issue.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Advertise | Privacy | Mobile
Web02 | 2.8.150506.1 | Last Updated 21 Jul 2010
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100