Ho una domanda riguardante un problema con L2S, DataContext generati automaticamente e l'uso di classi parziali. Ho astratto il mio datacontext e per ogni tabella che utilizzo, sto implementando una classe con un'interfaccia. Nel codice qui sotto puoi vedere che ho l'interfaccia e due classi parziali. La prima classe è proprio lì per assicurarsi che la classe nel datacontext generato automaticamente erediti l'interfaccia. L'altra classe autogenerata si assicura che il metodo di Interface sia implementato.Problema con l'implementazione dell'interfaccia in classi parziali
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;
}
}
}
}
Ora il mio problema è che il metodo implementato nella classe generato automaticamente dà il seguente errore: -> Proprietà 'grado' non può implementare proprietà dall'interfaccia 'PartialProject.objects.Interface'. Il tipo dovrebbe essere "PartialProjects.objects.Interface". < -
Qualche idea su come risolvere questo errore? Tieni presente che non riesco a modificare nulla nel codice generato automaticamente.
Grazie in anticipo!
Questo è esattamente quello che stavo cercando:] Grazie mille! Funziona alla grande – Bas
Votato. Grazie per la bella soluzione. Ho quasi "rotto" la testa cercando di aggirare le limitazioni imposte dalle interfacce. –
Nel caso in cui qualcuno esegua il seguente errore dopo aver implementato la soluzione sopra, guarda [qui] (http://stackoverflow.com/questions/2669031/compilation-error-the-modifier-public-is-not-valid-for- this-item-while-crea): il modificatore 'public' non è valido per questo elemento - in pratica rimuovi qualsiasi modificatore di accesso in quanto tali proprietà saranno forzate come private (il che ha senso quando ci pensi). – dyslexicanaboko