具有多个状态的自定义数据类型 [英] Custom Data Type with Multiple States

查看:95
本文介绍了具有多个状态的自定义数据类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好!

会有人碰巧知道如何创建自定义数据类型,例如一种名为"Thing"的数据类型,该类型只有固定值状态可供选择,例如"Chair","Table" ''和``Window''?

我希望按如下方式使用它:-

Hi all!

Would anyone happen to know how I could create a custom data type, for example one called ''Thing'', which only has fixed value states to choose from such as ''Chair'', ''Table'' and ''Window''?

I wish to use it as follows:-

Thing myThing = Thing.Window;



另外,是否可以将这些不同的状态组织成组,例如:-



Also, would it be possible to organise these different states into groups, such as:-

Thing myThing = Thing.Kitchen.Furniture.Table;



感谢任何有足够响应的人!



Thank you to anyone who is kind enough to respond!

推荐答案

您可以使用Enumerations进行特定状态.

You can do specific states with Enumerations.

public enum STATE { Chair=0,Table, Window}; 



您所指的嵌套最有可能是对象组成而不是状态.即



The nesting you are referring to is most likely object compositions and not states. i.e.

public class Table : Furniture { }
public Table thing = new Table();


好的,我想我已经找到了一种解决方法:-

Okay, I think I have found a workaround:-

public enum Options_MyGroup
{
    The, Quick, Brown, Fox
}

public class Option
{
    private object val;
    private Option(object obj)
    {
        val = obj;
    }
    public class MyGroup
    {
        public static Option The = new Option(Options_MyGroup.The);
        public static Option Quick = new Option(Options_MyGroup.Quick);
        public static Option Brown = new Option(Options_MyGroup.Brown);
        public static Option Fox = new Option(Options_MyGroup.Fox);
    }
}

public void test()
{
    Option myOption = Option.MyGroup.Fox;
    if (myOption == Option.MyGroup.Fox)
    {
        MessageBox.Show("Huzzah!");
    }
}



太棒了! :-)



Awesomeness! :-)


这篇关于具有多个状态的自定义数据类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆