Il titolo potrebbe essere un po 'ambiguo, ma non riuscivo a pensare a un modo migliore per esprimerlo.Modifica dei valori dei parametri prima dell'invio al costruttore di base
Mi rendo conto che non posso chiamare un costruttore derivato prima di chiamare un costruttore di base, ma posso in qualche modo modificare/creare i valori dei parametri prima di passarli alla base?
Ad esempio,
public enum InputType
{
Number = 1,
String = 2,
Date = 3
}
public class BaseClass
{
public BaseClass(InputType t)
{
// Logic
}
}
public class DerivedClass : BaseClass
{
public DerivedClass(int i)
: base(value)
// Can I do something to infer what value should be here?
{
// Logic
}
}
Se ho una classe derivata che può dedurre il valore desiderato per il costruttore di base (in questo esempio, InputType.Number
sarebbe valido per un int
,) c'è un modo per modificare e/o creare valori che vengono passati al costruttore base prima dell'esecuzione del costruttore derivato?
Non è possibile creare "valore" tramite la logica nel costruttore DerivedClass, tuttavia, poiché base (...) viene eseguita per prima. –
@Reed, sì, quello era un errore di battitura. Significa mettere (InputType) i. Risolto – JaredPar
Sì, puoi trasmettere. Ma stava chiedendo un modo per usare la logica per creare valore, cosa che non si può fare. –