Порядок выполнения списка System.Drawing.Graphics <Action> - PullRequest
0 голосов
/ 31 марта 2019

Я впервые пишу здесь, поэтому заранее извиняюсь, если я неправильно форматировал код.Я кодирую простой класс рендерера GDI + в C #.Вот упрощенная версия моего кода:

public interface IRenderer
{
    void Begin();
    void ClearFrame(byte R, byte G, byte B);
    byte[] End();

}

public class RendererGDI : IRenderer
{
    List<Action> renderFunctions;
    Bitmap b = new Bitmap(256,256);
    Graphics g = Graphics.FromImage(b);

    public RendererGDI()
    {
        renderFunctions = new List<Action>();
    }

    void Begin()
    {
        renderFunctions.Clear();
    }

    void ClearFrame(byte R, byte G, byte B)
    {           
        renderFunctions.Add(() => g.Clear(Color.FromArgb(255, R,G,B)));
    }

    byte[] End()
    {
        foreach (Action func in renderFunctions)
            func();
    }
}

Функция End () еще не полностью реализована, но мне интересно, является ли это правильным способом хранения операций System.Drawing.Graphics и только они выполняются внутри функции End ()?

Большое спасибо за ваше время и помощь.

Крейг.

...