Utilizzo del campo oggetto come parametro di funzione altro campo [duplicato]
È possibile utilizzare un nuovo campo oggetto come parametro funzione altro campo (in questa stessa inizializzazione oggetto)?
List<Reservations> reservations = new List<Reservations>()
{
new Reservations{title="Grooming", className=checkColor(title)},
};
public string checkColor(string title)
{
...
}
Risposte
Sisir
Non è possibile con l'attuale struttura del codice. Il motivo è che non è possibile fare riferimento a 1 campo dell'oggetto in un altro campo prima che l'oggetto sia completamente costruito. Questo è lo stesso del motivo per cui non possiamo usare 1 valore di campo in un altro mentre dichiariamo come varibales a livello di classe.
Tuttavia, ci sono modi in cui puoi ottenere ciò che vuoi.
Opzione 1:
const string titleText = "Grooming";
List<Reservations> reservations = new List<Reservations>()
{
new Reservations{title=titleText, className=checkColor(titleText)},
};
private static string checkColor(string title)
{
...
}
Opzione 2:
class Consumer
{
List<Reservations> reservations = new List<Reservations>()
{
new Reservations{title="Grooming"}
};
}
class Reservations
{
string _title;
public string title
{
get
{
return _title;
}
set
{
_title = value;
className = checkColor(title);
}
}
public string className;
private string checkColor(string title)
{
return "";
}
}