Usar campo de objeto como parámetro de función otro campo [duplicado]
¿Es posible usar un nuevo campo de objeto como parámetro de función otro campo (en este mismo objeto de inicialización)?
List<Reservations> reservations = new List<Reservations>()
{
new Reservations{title="Grooming", className=checkColor(title)},
};
public string checkColor(string title)
{
...
}
Respuestas
Sisir
No es posible con el diseño actual de su código. La razón es que no puede hacer referencia a 1 campo del objeto en otro campo antes de que el objeto esté completamente construido. Eso es lo mismo que por qué no podemos usar 1 valor de campo en otro mientras declaramos como varibales de nivel de clase.
Sin embargo, hay formas en las que puedes lograr lo que quieres.
Opción 1:
const string titleText = "Grooming";
List<Reservations> reservations = new List<Reservations>()
{
new Reservations{title=titleText, className=checkColor(titleText)},
};
private static string checkColor(string title)
{
...
}
Opcion 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 "";
}
}