从函数返回枚举...再次!

时间:2009-06-19 19:32:42

标签: c# visual-studio

  

可能重复:
  Return Enum From Function C#

这最初是在link发布的,但我无法在评论栏中找到合适的答案(不是字符),除了在这里重新开始之外找不到另一种方式:(

首先感谢所有回复的人。

为了简化这个问题,似乎我使用了大写/小写的错误类比,你们中的一些人有错误的想法 - 显然不是你的错:)

这是我到目前为止的代码,允许您在ChoiceOne和ChoiceTwo之间进行选择

    public partial class CustomControl1 : Control
    {
    public enum ChoiceOne
    {
        SubChoiceA,
        SubChoiceB,
    }
    public enum ChoiceTwo
    {
        SubChoiceC,
        SubChoiceD,
    }
    public enum Choice
    {
        ChoiceOne,
        ChoiceTwo,
    }

    private Type _subChoice;
    private Choice _choice;

    public Type SetSubChoice
    {
        get
        {
            if (_choice.Equals(Choice.ChoiceOne))
            {
                return typeof(ChoiceOne); 
            }
            else
            {
                return typeof(ChoiceTwo);
            }
        }
        set
        {
            _subChoice = value; 
        }
    }

    public Choice SetChoice
    {
        get
        {
            return _choice;
        }
        set
        {
            _choice = value;
        }
    }      
    }

VisualStudio最令人满意的是属性网格允许您在ChoiceOne和ChoiceTwo之间设置正确的SetChoice属性。

问题是SetSubChoice属性是灰色的,但它确实设置为'WindowsFormsApplication4.CustomControl1 + ChoiceOne'或'WindowsFormsApplication4.CustomControl1 + ChoiceTwo',具体取决于SetChoice的设置。我想要的是能够使用SetSubChoice来选择SubChoiceA或SubChoiceB或SubChoiceC或SubChoiceD,具体取决于SetChoice的设置。

例如,如果将SetChoice设置为ChoiceOne,则SetSubChoice将允许我在ChoiceA或ChoiceB之间进行选择。 同样,如果SetChoice设置为ChoiceTwo,那么SetSubChoice将允许我在ChoiceC或ChoiceD之间进行选择。

希望这已经澄清了一些事情?

我们现在几乎就在那里:)保持想法的到来。

由于

0 个答案:

没有答案
相关问题