Ich habe eine Klasse in Model in meinem MVC-Projekt wie folgt.Wenn eine partielle Klasse von einer Klasse erbt, dann sollten alle anderen partiellen Klassen mit demselben Namen dieselbe Basisklasse erben.
public partial class Manager : Employee
{
public string Name {get;set;}
public int Age {get;set;}
}
Und diese Klasse habe ich im Ordner App_Code im selben Projekt. Jetzt möchte ich wissen, ob meine Klasse auch von der Employee
Klasse oder Not geerbt werden muss?
public partial class Manager
{
public void SaveEmployee();
}
Ich habe dies zu tun, weil mein Mandant will mir alle Methoden in App_Code
Ordner verschieben, die mit Datenbank handelt.
Und ja, beide Klassen teilen sich den gleichen Namensraum.
Sie haben Recht Preston, aber jetzt habe ich ein anderes Problem. Es scheint, dass ich die partielle Klasse nicht vom Modell zum App_Code-Ordner erweitern kann, da ich jetzt einen Fehler erhalte, wenn ich auf die Eigenschaft der Modellklasse zugreife: "Compilerfehler CS1061- Dieser Fehler tritt auf, wenn Sie versuchen, eine Methode aufzurufen oder auf eine Klasse zuzugreifen Mitglied, das nicht existiert. " Aber es funktioniert gut, wenn ich diese beiden Klassen in das Modell einfüge. –
@PrestonGuillot Was ist, wenn Ihre Basis, von der Sie erben, einen Konstruktor hat? Ich kann nicht scheinen, meine partiellen Klassen zu erstellen, ohne den Basiskonstruktor von beiden aufrufen zu müssen, obwohl ich erwarten würde, dass ich nur von einem aus muss. – Chucky
@Chucky Ich weiß nicht genau, worum es geht, ohne den Code zu sehen - es klingt, als wäre es eine neue Frage wert. Konzeptionell bin ich nicht sicher, was Sie meinen, indem Sie "den Basiskonstruktor von beiden aufrufen müssen" - alle Klassen haben einen Konstruktor in C#, wenn Sie eine Klasse erweitern, indem Sie einen neuen Konstruktor bereitstellen und die Basisklasse sicherstellen wollen Konstruktor wird aufgerufen, Sie würden das im Konstruktor der neuen Klasse tun, aber Sie brauchen nur die Konstruktordefinition in einer einzigen Datei einer partiellen Klasse. –