• Viernes 29 de Marzo de 2024, 09:28

Autor Tema:  Error: is inaccessible due to its protection level  (Leído 3175 veces)

morocotopo

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Error: is inaccessible due to its protection level
« en: Domingo 21 de Agosto de 2016, 19:29 »
0
Buen día,

Estoy intentando aprender el manejo de las interfaces en C# y basandome en el artículo "Implementing a Basic Hello World WCF Service" he querido ir un poco mas allá y en lugar de utilizar parámetros simples quiero utilizar estruturas definidas.

Sin embargo, al querer realizar ésto me muestra el siguiente mensaje:

'cliente.Nombre' is inaccessible due to its protection level

Aquí les muestro el código de las dos clases que estoy utilizando:

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;

namespace vssClassService
{

    public class Clientes
    {
        int ID;
        String Nombre;
        String Paterno;
        String Materno;
    }

    [ServiceContract]
    public interface IvssClass
    {
        [OperationContract]
        String entradaCliente(Clientes cliente);
    }

}


Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace vssClassService
{
    public class vssClass: IvssClass
    {
        public String entradaCliente(Clientes cliente)
        {
            String nombre = cliente.Nombre;
            return "Algo";
        }
    }
}

He intentado varias cosas por ejemplo agregar {get; set;} y es lo mismo.

Seguramente estoy obviando algo, ¿alguien me puede ayudar con éste tema?

Saludos y gracias

morocotopo

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re:Error: is inaccessible due to its protection level
« Respuesta #1 en: Lunes 22 de Agosto de 2016, 00:14 »
0
Otra cosa que ya he hecho es crear una instancia del objeto con la misma respuesta de error.

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace vssClassService
{
    public class vssClass: IvssClass
    {
        public String entradaCliente(Clientes cliente)
        {
            Clientes obj = new Clientes();
            String nombre = obj.Nombre;
            return "Algo";
        }
    }
}

Saludos

morocotopo

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re:Error: is inaccessible due to its protection level
« Respuesta #2 en: Lunes 22 de Agosto de 2016, 04:49 »
0
Me respondo a mi mismo, la solución es utilizar [DataContract].

Saludos y gracias.