具有多个状态的自定义数据类型 [英] Custom Data Type with Multiple States
本文介绍了具有多个状态的自定义数据类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好!
会有人碰巧知道如何创建自定义数据类型,例如一种名为"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 withEnumerations
.
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屋!
查看全文