<分区>
对于标题的一般性,我深表歉意,我真的不明白我收到的错误。
所以我正在关注 this tutorial on C# ,我到了“结构和内存管理”部分。
在 5:30 左右,他开始创建一个 Color
结构,所以我逐行跟进。一直以来,他的代码都没有显示错误。
我的错误
然而,我的确实如此。其中四个,准确地说:
1) 错误 1:自动实现的属性“Color.R”的支持字段必须在控制返回给调用者之前完全分配。考虑从构造函数初始值设定项调用默认构造函数。
错误 2 和 3 与 1 相同,只是将 Color.R
替换为 Color.G
和 Color.B
。
最后,错误4:
“this”对象在其所有字段都分配给之前不能使用。
代码
这是我的 Color 结构的代码(同样,我很难注意到我的代码和教程大师的代码之间的任何区别):
public struct Color
{
public byte R { get; private set; }
public byte G { get; private set; }
public byte B { get; private set; }
public Color(byte red, byte green, byte blue)
{
R = red;
G = green;
B = blue;
}
public static Color Red
{
get { return new Color(255, 0, 0); }
}
public static Color Green
{
get { return new Color(0, 255, 0); }
}
public static Color Blue
{
get { return new Color(0, 0, 255); }
}
public static Color Black
{
get { return new Color(0, 0, 0); }
}
public static Color White
{
get { return new Color(255, 255, 255); }
}
}
我是 C# 的新手,但有一些 PHP 经验,所以我对这里到底发生了什么感到有点困惑。想法?