如何在c#中创建一个以常量作为参数的类?

时间:2012-07-08 15:51:37

标签: c# .net oop

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

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

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

2 个答案:

答案 0 :(得分: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");
    }
}

答案 1 :(得分:0)

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