SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: morocotopo en Domingo 21 de Agosto de 2016, 19:29
-
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" (http://www.codeproject.com/Articles/97204/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:
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);
}
}
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
-
Otra cosa que ya he hecho es crear una instancia del objeto con la misma respuesta de error.
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
-
Me respondo a mi mismo, la solución es utilizar [DataContract].
Saludos y gracias.