Forum: PC-Programmierung C# Baseclass auf Klassenobjekt


von Thorsten (Gast)


Lesenswert?

Hallo, in einer DLL befindet sich eine Klasse, welche ich instanzieren 
kann.
1
var dllclass = new dllclass();

Damit kann ich auf die Eigenschaften der Klasse zugreifen, weiteren 
zugriff hab ich nicht.

Wie kann ich der dllclass von meiner Baseclass erben lassen?

wie z.b. wenn ich selbst die Klasse erstelle
1
public class meineklasse : BaseModel
2
{}

von nicht"Gast" (Gast)


Lesenswert?

Eigentlich genau so.


Es gibt natürlich Einschränkungen. Wenn die Klasse in der dll als sealed 
markiert ist, kannst du nicht mehr davon erben.
An die private/proteced interna wirst du auch in einer geerbten Klasse 
nicht heran kommen da diese auch nur das sieht, was ein Objekt der 
Klasse sehen würde.

von nicht"Gast" (Gast)


Lesenswert?

Thorsten schrieb:
> Wie kann ich der dllclass von meiner Baseclass erben lassen?

Huch, das verwirrt mich. Du willst die Klasse aus der externen dll von 
einer lokalen Basisklasse erben lassen?

Dann muss deine Klasse in der dll natürlich wissen, wie die Klasse 
aussieht. Du must sie dort bekannt machen. Dü kannst den Umweg über ein 
drittes Projekt nehmen und dort deine Klasse deklarieren. Das bindest du 
als Referenz dann in deine beiden anderen Projekte ein.


PS: Such dir eine der beiden Antworten aus :)

von Thorsten (Gast)


Lesenswert?

Die DLL Klasse ist als public deklariert, damit die geforderten 
Eigenschaften an eine Methode der DLL übergeben kann.

Beispiel:

DLLClass
{
int hello {get;set;}
string hello2 {get;set;}
}

Methode der DLL:

bool set(dllclass)

Jetzt wollte ich einfach die DLL Klasse nehmen um diese von meiner UI 
mittels MVVM pattern zu füllen. Meine Basisklasse behinhaltet benötige 
Dinge für MVVM (Propertchanged etc.) und eine Validation.

Jetzt würde ich zum Schluss die DLLKlasse gerne wieder ohne meine 
Basisklasse an die Methode übergeben.

Ist die Idee falsch und ich muss es anders lösen?

von nicht"Gast" (Gast)


Lesenswert?

Langsam lichtet sich das Dunkel.


Lass mich mal zusammenfassen. Das ist immer noch wirr.

1. Du hast eine dll
2. In der dll gibts eine Methode bool set(class)
3. Diese willst du mit deiner dllclass aufrufen
4. du brauchst in der dllclass daten von deiner modelclass

Eine wichtige Frage:
  winforms oder wpf?

von nicht"Gast" (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.