CLR: .Net / Mono / Boo / Otros CLR > C#

 Error: is inaccessible due to its protection level

(1/1)

morocotopo:
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: ---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);
    }

}

--- Fin del código ---



--- Código: ---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";
        }
    }
}

--- Fin del código ---

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:
Otra cosa que ya he hecho es crear una instancia del objeto con la misma respuesta de error.


--- Código: ---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";
        }
    }
}
--- Fin del código ---

Saludos

morocotopo:
Me respondo a mi mismo, la solución es utilizar [DataContract].

Saludos y gracias.

Navegación

[0] Índice de Mensajes

Ir a la versión completa