Gibt es eine Möglichkeit, eine vorhandene Methode in einer partiellen Klasse zu überschreiben?Codegenerierungsproblem, überschreiben vorhandene Methodenimplementierung
So etwas (ich weiß, das ist nicht kompilieren)
/// <summary>
/// Generated Code for MyClass
/// </summary>
public partial class MyClass
{
public void MyMethod()
{
//Do work specific to MyClass
}
}
/// <summary>
/// Non-generated extension for MyClass
/// </summary>
public partial class MyClass
{
public override void MyMethod()
{
//Do some other work
}
}
ich in diese Notwendigkeit leite, während einige Code-Generierung zu tun. Ich erzeuge Teilklassen von meinem EDMX und Methoden für diese Klassen, wo 90% meiner Klassen Methoden haben, die für ihre Eigenschaften spezifisch sind.
Aber ich renne in Fälle, in denen ich die einmaligen Methoden mögen würde.
Gibt es so etwas, das ich übersehe? Oder einige vorgeschlagene Alternativen?
Sehr nützlich! Irgendwelche Ideen für Zeiten, in denen ich nicht möchte, dass der Code vor 'MyMethodImpl();' ausgeführt wird? – Khan
Wann soll es nicht ausgeführt werden? Soll MyMethod übersprungen werden, wenn MyMethodImpl definiert ist? Sie könnten MyMethodImpl einen booleschen Wert zurückgeben, der in den Dokumenten als "automatisch generierten Code ausführen" definiert ist. – Servy
Tatsächlich müssen partielle Methoden ungültig sein, also müssten Sie eine boolesche Variable für eine Instanz festlegen oder einen out-Parameter verwenden. – Servy