繁体   English   中英

如何创建枚举类型的属性

[英]How to create a property that is enum type

enum E_Color { red, black };
private E_Color Color
{
    get { return Color; }
    set { Color = value; }
}
public Card(int color, int num)
{
    Color = (E_Color)color;
    Number = num;
}

所以这是我的代码,我不知道问题是什么,我很确定它在这里。 我是 C# 的新手(我曾经用 C++ 编程)所以我不知道该怎么做。 在编译中运行它但打印“由于 StackOverflowException 导致进程终止”。 如果我进入它只是停止调试并在它到达构造函数时完成。

你的枚举在这里没有问题。 问题出在你的财产上。 您正在返回属性本身,这会导致无限循环 ( Stackoverflow )。

改成这样:

private E_Color Color
{
    get; set;
}

你基本上做的是这样的:

private E_Color GetColor()
{
    return GetColor();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM