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.