Laden...

Abstrakte Klasse in unterschiedlichen Namespaces verwenden

Erstellt von tequila slammer vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.638 Views
T
tequila slammer Themenstarter:in
253 Beiträge seit 2006
vor 13 Jahren
Abstrakte Klasse in unterschiedlichen Namespaces verwenden

Hallo Forum,

ich habe eine abstrakte Klasse in einem Projekt mit dem Namespace Core.
Dieses Projekt wird von einem anderen Projekt mit dem Namespace Core.Administration referenziert.

Im Core.Administration Projekt gibt es eine Klasse, die von der abstrakten Klasse ableiten soll aber ich kann sie dort nicht sehen.

Meine Frage ist daher, geht es, dass abstrakte Klassen in anderen Namespaces verwendet werden? Eigentlich sollte es doch gehen, oder nicht?

109 Beiträge seit 2010
vor 13 Jahren

Ich denke mal dein Problem liegt bei den Zugriffsmodifizierern.

Zugriffsmodifizierer

Ich beschütze das was am Wichtigsten ist!

1.002 Beiträge seit 2007
vor 13 Jahren

Hallo tequila slammer,

natürlich kannst du auch von abstrakten Klassen aus anderen Namensräumen ableiten – sonst könnte ja keine einzige Klasse in deinen eigenen Namespaces von den Framework-Klassen erben.

Generell gilt: Damit du eine Klasse C aus dem Namensraum N aus dem Projekt P1 im Projekt P2 verwenden kannst, muss P2 das Projekt P1 referenzieren. Außerdem muss der Namesraum mit

using P1.N;

importiert werden (oder explizit P1.N.C verwendet werden).

m0rius

Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg

T
tequila slammer Themenstarter:in
253 Beiträge seit 2006
vor 13 Jahren

@Seraph2404: am Zugriff liegt es auch nicht.
@m0rius: Ich verwende lieber die vollen Namespaces als P1.N.C

Ich kann besser mit Beispielen arbeiten daher einmal das was ich habe


public abstract class MyAbstractClass
{
     public abstract string Name { get; set; }
     public abstract bool Save();
     public abstract bool Update();
     public abstract bool Delete();
}

In einer Klasse im selben Projekt wie die abstrakte Klasse funktioniert die Vererbung von dieser. 🤔

1.002 Beiträge seit 2007
vor 13 Jahren

Hallo tequila slammer,

hast du das Projekt korrekt referenziert und die Namensräume in der erbenden Klasse importiert?

m0rius

Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg

T
tequila slammer Themenstarter:in
253 Beiträge seit 2006
vor 13 Jahren

ja habe ich. Ich erstelle am We mal eine Solution an der man das Problem nachvollziehen kann.

5.742 Beiträge seit 2007
vor 13 Jahren

In einer Klasse im selben Projekt wie die abstrakte Klasse funktioniert die Vererbung von dieser.

Dann machst du etwas falsch.

Schaue dir einmal an, welche Meldungen der Compiler ausspuckt, cleane das Projekt und prüfe, ob du wirklich exakt den Namespace eingebunden hast, in dem die Klasse definiert ist und ob du auch keine Versionsprobleme hast.

T
tequila slammer Themenstarter:in
253 Beiträge seit 2006
vor 13 Jahren

Ich habe den Fehler. Der Namespace des zweiten Projekts stimmte mit dem Namen der abstrakten Klasse überein. Bekommt die abstrakte Klasse einen anderen Namen gehts.