使用对象字段作为函数参数的其他字段



是否可以使用新的对象字段作为函数参数其他字段(在同一对象初始化中(?

List<Reservations> reservations = new List<Reservations>()
{
new Reservations{title="Grooming", className=checkColor(title)},
};
public string checkColor(string title)
{
...
}         

这在您的代码的当前设计中是不可能的。原因是,在对象完全构造之前,不能在另一个字段中引用对象的一个字段。这和为什么在声明为类级变量包时不能在另一个字段中使用1个字段值是一样的。

然而,有一些方法可以实现你想要的

选项1:

const string titleText = "Grooming";
List<Reservations> reservations = new List<Reservations>()
{
new Reservations{title=titleText, className=checkColor(titleText)},
};
private static string checkColor(string title)
{
...
}

选项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 "";
}
}

最新更新