#

C#: Fehlermeldung: CS0535 classABC implementiert den Schnittstellenmember "INotifyPropertyChanged.PropertyChanged" nicht.

 

Der Fehler tritt auf, wenn man eine Klasse im C# Code definiert hat nach dem Prinzip neue Klasse

Class:BasisClass,Interface {}

Betrifft: abgeleitete Klasse mit einer Schnittstelle, wobei in der Klasse die Schnittstelle nicht angegeben wird

 

Schweregrad

Code

Beschreibung

Fehler

CS0535

"DataModel" implementiert den Schnittstellenmember "INotifyPropertyChanged.PropertyChanged" nicht.

Fehler

CS0103

Der Name "NotifyPropertyChanged" ist im aktuellen Kontext nicht vorhanden.

 

Hier ist der fehlerhafte C# Code, Klassenkonstruktor

Wie man sieht, wurden innerhalb der Klasse die Schnittstelle INotifyPropertyChanged nicht weiter angegeben.

    public sealed class DataModel : DependencyObject, INotifyPropertyChanged

    {

        //public event PropertyChangedEventHandler PropertyChanged;

 

        //private void NotifyPropertyChanged([CallerMemberName] string propertyName = "")

        //{

        //    //if (PropertyChanged != null)

        //    //{

        //    //    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));

        //    //}

        //}

 

 

Sobald man die Angaben im Innern der Klasse erstellt, verschwindet der Kompilerfehler

    public sealed class DataModel : DependencyObject, INotifyPropertyChanged

    {

        public event PropertyChangedEventHandler PropertyChanged;

 

        private void NotifyPropertyChanged([CallerMemberName] string propertyName = "")

        {

            //if (PropertyChanged != null)

            //{

            //    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));

            //}

        }

 

 

Unter C# findet man ein Beispiel wie man eine abgeleitete Klassen mit einer Schnittstelle definiert in C#

Inheritance

Example

Single, implements one interface

class ImplDerivedClass: BaseClass, IFace1 { }

Klassendefinition: https://msdn.microsoft.com/de-DE/library/87d83y5b.aspx?f=255&MSPPError=-2147217396

 

 

Und Schnittstellen sind beschrieben unter

https://msdn.microsoft.com/de-DE/library/87d83y5b.aspx?f=255&MSPPError=-2147217396

Eine Schnittstelle enthält nur die Signaturen von Methoden, Eigenschaften, Ereignissen oder Indexern.

Eine Klasse oder eine Struktur, die die Schnittstelle implementiert, muss die Member der Schnittstelle implementieren, die in der Schnittstellendefinition angegeben werden.

..und zeigt dann ein kleines Beispiel

 Im folgenden Beispiel muss die Klasse ImplementationClass eine Methode mit dem Namen SampleMethod implementieren, die keine Parameter hat und void zurückgibt.

 

Mobile

.

0123movie.net