Usando o campo do objeto como parâmetro de função outro campo [duplicado]
É possível usar novo campo de objeto como parâmetro de função outro campo (nesta mesma inicialização de objeto)?
List<Reservations> reservations = new List<Reservations>()
{
new Reservations{title="Grooming", className=checkColor(title)},
};
public string checkColor(string title)
{
...
}
Respostas
Sisir
Não é possível com o design atual do seu código. O motivo é que você não pode fazer referência a 1 campo do objeto em outro campo antes que o objeto seja totalmente construído. É por isso que não podemos usar um valor de campo em outro ao declarar como varibales de nível de classe.
No entanto, existem maneiras de você conseguir o que deseja.
Opção 1:
const string titleText = "Grooming";
List<Reservations> reservations = new List<Reservations>()
{
new Reservations{title=titleText, className=checkColor(titleText)},
};
private static string checkColor(string title)
{
...
}
Opção 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 "";
}
}
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas