Ich dachte VS wirft diese Fehler-Meldung, wenn die Methode da ist, aber die Parameter nicht passen.
Naja, wie auch immer, (an traceurmicha) dann instanziirt du wahrscheinlich einfach über die Basis-Klasse und nicht über die erbende Klasse.
Das hier:
C#-Quelltext
1:
| var presence = new Firmenname.Verwaltung.Anwendung.Presence(); |
ist nämlich etwas Anderes, als das:
C#-Quelltext
1:
| var presence = new Anwesenheit.Presence(); |
Das Zweite ist das, was du suchst, denn die hat auch die Methode
Save().
Vielleicht wäre hier auch ein anderer Name angebracht, damit du nicht immer an die Namespaces vor der Klasse angewiesen bist. Das kann man machen, aber ich finde, wenn es sich vermeiden lässt, dann lieber vermeiden.
Zu dem was Ralf sagt (immer noch an traceurmicha):
Ralf hat vollkommen Recht mit dem, was er in Klammern schreibt.
Es gibt so eine Regel, die besagt, dass jede Klasse immer nur eine Aufgabe haben darf. (Nachzulesen unter
Single-Responsibility-Prinzip)
Wenn du dann noch eindeutige und gut verständliche Namen vergibst, dann wird dir das bei größeren Projekten viel Zeit und Nerven ersparen.
Daten-Speicherung und Daten-Bereitstellung ist dabei ein Unterschied (je nach Umfang des Projektes, ein sehr Großer), das sind zwei verschiedene Aufgaben.
Da solltest du daher eine weitere Klasse speichern, die dazu zuständig ist, deine Presence-Objekte zu speichern.
Es ist auch nicht schlimm, wenn eine Klasse sehr kurz wird, solange sie ihre Aufgabe sinnvoll erfüllen kann.