C#: how extrude polygon / list of Point3d and then unextrude

I want extrude a polygon (created by a list of Point3d) and then get back the list of Point3d / unextrude it.

is this the best way to extrude the polygon, here named “poly”:
doc.Objects.AddExtrusion(Extrusion.Create(poly.ToNurbsCurve(), height, true));

how I get back the Point3d data from the extrusion object?
I got this so far:
var obj = doc.Objects.MostRecentObject();
GeometryBase geom = obj.Geometry;
Extrusion extr = geom as Extrusion;
if (extr != null)
{
// here get back Point3d data out of extrusion
}

by the way, the polygon is closed and 2-dimensional

tnx for answers

If all you want is the points, why not just offset the original points?

I need to get the points also out of foreign extrusions, where I never had the original points.
Right now I found a way to do it by making a detour:
I convert the extrusion to a nurbs surface and then reading out the control points from the bottom of the surface.