显示枚举中的 int 值
display int value from enum
我有一个 propertygrid,我需要在 propertygrid 中创建一个组合框并显示 int 值(1 到 9),我发现使用 enum 是最简单的方法,但是 enum 无法显示 int 值,即使我尝试了将其转换为 int,但我不知道如何 return 所有值。还有其他方法吗?提前致谢。下面是我的代码。
public class StepMode
{
private TotalSteps totalSteps;
public TotalSteps totalsteps
{
get { return totalSteps; }
set { value = totalSteps; }
}
public enum TotalSteps
{
First = 1,
Second = 2,
Three = 3,
Four = 4,
Five = 5,
Six = 6,
Seven = 7,
Eight = 8,
Nine = 9
}
}
要获取枚举的所有值,试试这个
var allValues = Enum.GetValues(typeof(TotalSteps)).Cast<int>().ToArray();
您的总步数 属性 应该如下所示
public int[] totalSteps
{
get { return Enum.GetValues(typeof(TotalSteps)).Cast<int>().ToArray(); }
}
how can I return it in "get" function? the value cannot be converted
属性(我猜)被定义为 get/set 选定的枚举值,因此当类型为 TotalSteps 时你不能 return int。
我建议在 Step
中有另一个 readonly 属性 将选定的 enum
值转换为 int
public int Step
{
get {return (int)totalsteps; }
}
由于您提到(作为评论)您希望所有 int 值绑定到 ComboBox
执行此操作。
public List<int< ComboValues
{
get { return Enum.GetValues(typeof(TotalSteps)).Cast<int>().ToList(); }
}
你应该制作一个 属性 其中 return 一个 int 而不是 TotalSteps
你正在做这个
private TotalSteps totalSteps;
public TotalSteps totalsteps
{
get { return totalSteps; }
set { value = totalSteps; }
}
我建议这样做
private TotalSteps totalSteps;
private int totalStepsInInt;
public int TotalstepsInInt
{
get { return totalStepsInInt; }
set { totalStepsInInt = value; }
}
并且在设置此 属性 时,您必须通过这样做将 totalSteps 转换为 int。
`TotalStepsInInt = (int)totalSteps;`
我有一个 propertygrid,我需要在 propertygrid 中创建一个组合框并显示 int 值(1 到 9),我发现使用 enum 是最简单的方法,但是 enum 无法显示 int 值,即使我尝试了将其转换为 int,但我不知道如何 return 所有值。还有其他方法吗?提前致谢。下面是我的代码。
public class StepMode
{
private TotalSteps totalSteps;
public TotalSteps totalsteps
{
get { return totalSteps; }
set { value = totalSteps; }
}
public enum TotalSteps
{
First = 1,
Second = 2,
Three = 3,
Four = 4,
Five = 5,
Six = 6,
Seven = 7,
Eight = 8,
Nine = 9
}
}
要获取枚举的所有值,试试这个
var allValues = Enum.GetValues(typeof(TotalSteps)).Cast<int>().ToArray();
您的总步数 属性 应该如下所示
public int[] totalSteps
{
get { return Enum.GetValues(typeof(TotalSteps)).Cast<int>().ToArray(); }
}
how can I return it in "get" function? the value cannot be converted
属性(我猜)被定义为 get/set 选定的枚举值,因此当类型为 TotalSteps 时你不能 return int。
我建议在 Step
中有另一个 readonly 属性 将选定的 enum
值转换为 int
public int Step
{
get {return (int)totalsteps; }
}
由于您提到(作为评论)您希望所有 int 值绑定到 ComboBox
执行此操作。
public List<int< ComboValues
{
get { return Enum.GetValues(typeof(TotalSteps)).Cast<int>().ToList(); }
}
你应该制作一个 属性 其中 return 一个 int 而不是 TotalSteps
你正在做这个
private TotalSteps totalSteps;
public TotalSteps totalsteps
{
get { return totalSteps; }
set { value = totalSteps; }
}
我建议这样做
private TotalSteps totalSteps;
private int totalStepsInInt;
public int TotalstepsInInt
{
get { return totalStepsInInt; }
set { totalStepsInInt = value; }
}
并且在设置此 属性 时,您必须通过这样做将 totalSteps 转换为 int。
`TotalStepsInInt = (int)totalSteps;`