2

例如,在 XNA 框架中有一个SpriteBatch类。该SpriteBatch.Begin()方法接受如下参数:

spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend);

如何创建一个以相同方式接受参数的类?

4

2 回答 2

7

创建一个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");
    }
}
于 2012-07-08T15:53:56.150 回答
0

参数类型是枚举 (SpriteSortMode) 和静态字段 (BlendState.AlphaBlend)。不同之处在于选择的复杂程度。当它有点复杂时,将枚举用于简单的选择和静态字段。

于 2012-07-08T15:54:58.380 回答