[英]How do I create a class with constants as parameters in c#?
例如,在XNA框架中有一个SpriteBatch
类。 SpriteBatch.Begin()
方法接受如下参数:
spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend);
如何创建以相同方式接受参数的类?
创建一个Enum
:
enum FooBarMode
{
FrontToBack,
BackToFront,
Whatever
}
并将其用作参数:
void DoSomething(FooBarMode mode)
{
switch (mode) // just as an example
{
case FooBarMode.FrontToBack:
Console.WriteLine("FrontToBack");
break;
case FooBarMode.BackToFront:
Console.WriteLine("BackToFront");
break;
case FooBarMode.Whatever:
Console.WriteLine("Whatever");
break;
default:
throw new ArgumentOutOfRangeException("mode");
}
}
参数类型为枚举(SpriteSortMode)和静态字段(BlendState.AlphaBlend)。 不同之处在于选择的复杂程度。 如果枚举比较复杂,则将其用于简单选择和静态字段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.