Mam pytanie dotyczące problemu z L2S, Autogenerated DataContext i użycia klas częściowych. Wyodrębniłem mój datacontext i dla każdej używanej tabeli implementuję klasę z interfejsem. W poniższym kodzie widzę, że mam interfejs i dwie częściowe klasy. Pierwsza klasa jest właśnie tam, aby upewnić się, że klasa w automatycznie generowanym interfejsie danych inherets Interface. Druga generowana automatycznie klasa zapewnia implementację metody z interfejsu.Problem z implementacją interfejsu w klasach częściowych
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;
}
}
}
}
Teraz moim problemem jest to, że metoda realizowane w klasie wygenerowany automatycznie daje następujący błąd: -> właściwość „Instance” nie może realizować własność z interfejsu „PartialProject.objects.Interface”. Typ powinien być "PartialProjects.objects.Interface". < -
Czy masz pomysł, jak rozwiązać ten błąd? Pamiętaj, że nie mogę edytować niczego w automatycznie wygenerowanym kodzie.
Z góry dziękuję!
Dokładnie to, czego szukałem:] Wielkie dzięki! Działa świetnie – Bas
Głosowano. Dziękuję za miłe rozwiązanie. Niemal "złamałem" głowę, próbując zrobić obejście ograniczeń nałożonych przez interfejsy. –
Na wypadek, gdyby ktokolwiek popadł w następujący błąd po wdrożeniu powyższego rozwiązania, patrz [tutaj] (http://stackoverflow.com/questions/2669031/compilation-error-the-modifier-public-is-not-valid-for- this-item-while-crea): modyfikator "public" nie jest prawidłowy dla tego elementu - w zasadzie usuń wszelkie modyfikatory dostępu, ponieważ te właściwości będą wymuszane jako prywatne (co ma sens, gdy się nad tym zastanowisz). – dyslexicanaboko