Ich arbeite an einer umfangreichen Checkout-Anwendung für ein aktuelles Projekt. Diese Kasse hat viele Fälle, abhängig von der Admin-Ebene des Benutzers, wie sie an der Kasse bekam, und welche Art von Element, das sie auschecken, und so der Prozess ist abstrahiert weg von der .aspx Seiten über eine Reihe von Kontextklassen.
Diese Klassen sind alle Unterklassen einer einzigen Klasse, CheckoutContext, und der Typ der zu verwendenden Klasse wird über ein Enum angegeben.
Gibt es etwas ähnlich wie typedef kann ich verwenden, um zu wählen, welche Unterklasse zu verwenden, oder sollte ich einfach eine Methode haben, die die relevante Klasse zurückgibt, wie so:
CheckoutContext chooseSubclass(CheckoutCase c)
{
CheckoutContext output;
switch (c):
{
case CheckoutCase.SingleItemNew:
output = new SingleItemNew;
break;
case . . .
return output;
}
}