Tengo una pregunta sobre un problema con L2S, DataContext autogenerado y el uso de clases parciales. He abstraído mi contexto de datos y para cada tabla que uso, estoy implementando una clase con una interfaz. En el siguiente código, puede ver que tengo la interfaz y dos clases parciales. La primera clase está allí para asegurarse de que la clase en el contexto de datos generado automáticamente en Interfaz. La otra clase autogenerada se asegura de que el método de Interface esté implementado.Problema con la implementación de la interfaz en clases parciales
namespace PartialProject.objects
{
public interface Interface
{
Interface Instance { get; }
}
//To make sure the autogenerated code inherits Interface
public partial class Class : Interface { }
//This is autogenerated
public partial class Class
{
public Class Instance
{
get
{
return this.Instance;
}
}
}
}
Ahora mi problema es que el método implementado en la clase autogenerada da el siguiente error: -> Propiedad 'Instancia no puede aplicar la propiedad de la interfaz 'PartialProject.objects.Interface'. Tipo debe ser 'PartialProjects.objects.Interface'. < -
¿Alguna idea de cómo se puede resolver este error? Tenga en cuenta que no puedo editar nada en el código autogenerado.
¡Gracias de antemano!
Esto es exactamente lo que estaba buscando:] ¡Muchas gracias! Funciona muy bien – Bas
Votado. Gracias por una buena solución. Casi me "he roto" la cabeza tratando de resolver las limitaciones impuestas por las interfaces. –
En caso de que alguien se encuentre con el siguiente error después de implementar la solución anterior, mire [aquí] (http://stackoverflow.com/questions/2669031/compilation-error-the-modifier-public-is-not-valid-for- this-item-while-crea): el modificador 'public' no es válido para este elemento, básicamente elimina cualquier modificador de acceso ya que esas propiedades se forzarán como privadas (lo cual tiene sentido cuando lo piensas). – dyslexicanaboko