Interface implementation error in WCF

-1

I am making an example using WCF and it has generated an error and I am not able to figure out what could be wrong.

Error message:

  

WCFService.Service1 does not implement interface member   WCFService.IService1.Find People ().   WCFService.Service1.Search () can not implement   WCFService.IService1.Search () because it does not have the   matching return type of WCFService.

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace WCFService
{
    [DataContract]
    public class pessoa
    {
        [DataMember]
        public string Nome { get; set; }

        [DataMember]
        public string SobreNome { get; set; }

        [DataMember]
        public int Idade { get; set; }

    }
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace WCFService
{

    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract]
    public interface IService1
    {

        [OperationContract]
        pessoa BuscarPessoas();

        [OperationContract]
        pessoa BuscarPessoaPorIdade(int idade);
    }

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace WCFService
{
  name "Service1" in both code and config file together.
    public class Service1 : IService1
    {

        private List<pessoa> CriarListaPessoas()
        {

            List<pessoa> listaPessoas = new List<pessoa>()
            {
                new pessoa(){Nome="Caludia", SobreNome="Borges",Idade=25},
                new pessoa(){Nome="Jose", SobreNome="Borges",Idade=25},
                new pessoa(){Nome="Marços", SobreNome="Borges",Idade=25},
                new pessoa(){Nome="paulo", SobreNome="Borges",Idade=25},
                new pessoa(){Nome="Maria", SobreNome="Borges",Idade=25},
                new pessoa(){Nome="Marlon", SobreNome="Borges",Idade=25},
            };

            return listaPessoas;
        }


        public List<pessoa> BuscarPessoas()
        {
            return CriarListaPessoas();
        }

        public pessoa BuscarPessoaPorIdade(int idade)
        {
            return CriarListaPessoas().Find(pResult => pResult.Idade == idade);
        }

    }
}
    
asked by anonymous 10.10.2014 / 17:08

1 answer

3

You set in interface that the BuscarPessoas method should return type pessoa but in the implementation it is returning List<pessoa>

You should change the interface to:

public interface IService1
{
    [OperationContract]
    List<pessoa> BuscarPessoas();

    [OperationContract]
    pessoa BuscarPessoaPorIdade(int idade);
}
    
10.10.2014 / 17:28