【发布时间】:2021-03-23 02:55:40
【问题描述】:
我有下面的课程。 Coach 属性用作 Coach 字段的访问器。它检查是否存在现有的“Club”值,如果没有,则将“Coach”分配给该“Club”。
public class Club
{
private Coach coach;
public Coach Coach
{
get
{
return coach;
}
set
{
if (value.Club != null)
{
coach = value;
}
else
{
coach = null;
}
}
}
在我的车手课程中,我有类似下面的代码将教练分配给俱乐部。但是,当我运行它时,该值将始终为 null,并且我似乎无法通过 Coach 访问器为“coach”字段正确分配值。
private static void AssignCoach(Club club1, Coach coach1)
{
club1.Coach = coach1;
}
AssignCoach(club1, coach1);
【问题讨论】:
-
这个问题没有为我们提供足够的信息来调试问题。请提供minimal reproducible example。猜测一下,您的
if语句条件未得到满足。 -
您显示的代码可以正常工作,我猜您的其他代码会感到困惑,因为您有教练和俱乐部的循环引用
-
尝试分配一个已经拥有俱乐部的教练,你会看到你的错误;)
标签: c# properties field getter-setter accessor