繁体   English   中英

如何在C#中使用常量作为参数创建类?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM