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 に答える