Render Polygon Method (Documentation)
The most confusing thing in your code is names of arguments and variables and their types.


DeviceContext context2D



Why not deviceContext?


PolygonType polygon



It's not polygon (which is collection of points as I expect), it's polygon type, so name it polygonType


float numberOfPoints = (float)polygon;



Why are you casting to float? Number of points can be non-integer? Also in my opinion it's not good to give another meanings to enum values except what they mean by their names. Your enum defines polygons types, not numbers of points. I recommend to create dictionary:

private static readonly Dictionary&lt;PolygonType, int&gt; NumberOfPoints =
    new Dictionary&lt;PolygonType, int&gt;
    {
        [PolygonType.Trigon] = 3,
        // ...
    };


and use it:

var numberOfPoints = NumberOfPoints[polygonType];


Why are you using for polygon types such strange names and not Triangle and Square?

If it's public API method, add arguments checking using appropriate exceptions (ArgumentOutOfRangeException, InvalidEnumArgumentException and so on). All possible exceptions should be documented via &lt;exception&gt; tags.