私は繰り返し、RotateFlipTypeをよりモジュラー的に扱いたいと思っています。RotateFlipTypeヘルパー関数?
たとえば、ある時点で、RotateFlipType列挙型を1つ保存し、ユーザーがボタンを1回クリックするだけで反転させたり回転させたりすることができます。私は、データにRotateFlipTypeを適用する必要があるときに、後でこれを保存する必要があります。
基本的に、私は複数の変数にすべてを別々に保存する必要があります。あるいは、私は次のような論理を持つ必要があります:
private RotateFlipType ApplyHorizontalFlip(RotateFlipType oldFlip)
{
switch (oldFlip)
{
case RotateFlipType.Rotate180FlipNone:
return RotateFlipType.RotateNoneFlipNone;
case RotateFlipType.Rotate180FlipX:
return RotateFlipType.RotateNoneFlipX;
case RotateFlipType.Rotate180FlipXY:
return RotateFlipType.RotateNoneFlipXY;
case RotateFlipType.Rotate180FlipY:
return RotateFlipType.RotateNoneFlipY;
case RotateFlipType.Rotate270FlipNone:
return RotateFlipType.Rotate90FlipNone;
// etc...
}
}
フレームワークを構築するヘルパーメソッドはありますか?基本的には、既存のRotateFlipTypeを取得し、回転または反転させて新しい値を与えることによって変更します。
重複した値が多数ありますが、RotateNoneFlipNoneはRotate180FlipXYとまったく同じものです。わずか8つの異なる値があります。 Reflectorのようなツールを使用して値を表示します。 8要素の配列から小さなルックアップテーブルを作成することができます。 –
Visual Studioで[定義に移動]をクリックすると、8つの異なる値が表示されます。私はまだ彼らと一緒に働くのは痛いと感じています。それぞれの値を別々に保存しても(rotation、flipX、flipY)、列挙型に変換するのは苦痛です。それは一見、ページとswitch文のページです。 –
Google検索で「ルックアップテーブル」と入力し、最初のヒットを取得します。 –