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.