Se ho una classe base e due classi derivate e voglio implementare il cast tra le due classi derivate a mano, c'è un modo per farlo? (In C#)Override (cast)
abstract class AbsBase
{
private int A;
private int B;
private int C;
private int D;
}
class Imp_A : AbsBase
{
private List<int> E;
}
class Imp_B : AbsBase
{
private int lastE;
}
genere io sarò Pezzi fusi di Imp_A -> Imp_B e voglio l'ultimo valore nell'elenco E di essere il 'Laste'. Inoltre, se ci fossero tre o più classi di implementazione (come Salario, Ogni ora, Consulente e Ex dipendenti).
Indipendentemente dal fatto che sia architettonicamente corretto (non posso descrivere l'intera applicazione ed essere conciso) È possibile?
Stavo per scrivere un convertitore, ma a mio avviso un convertitore creerà un nuovo oggetto della classe Imp_B, di cui non ho bisogno perché il "dipendente" sarà solo una delle opzioni in qualsiasi tempo.
-Devin
Ricorda che questo (ovviamente) creerà effettivamente un nuovo oggetto Imp_B. – mquander
Questo è perfetto. Ma, come dice manderand, è un nuovo oggetto, che credo sia inevitabile. Ma questo significa che "a" non sarà GC fino a quando non rientra nello scope, anche se non lo uso mai più (come Imp_A)? – DevinB
Sì, verrà raccolto solo se non rientra nell'ambito e non si detengono più riferimenti ad esso. –