我正在尝试使用SqlGeometryBuilder构造一个线串。
SqlGeometry point = line.STPointN(x)
gb.BeginFigure((double)point.X, (double)point.Y, (double?)point.Z, (double?)point.M);
SqlGeometry
的.Z和.M属性返回类型为SqlDouble
,因此我尝试将它们都转换为double?
。但是,转换这些属性似乎会在属性上调用.Value
,这将抛出一个空异常而不是返回null,从而破坏了我的代码。
有没有一种方法可以为SqlGeometry Z和M值调用哪些不调用.Value
?
答案 0 :(得分:1)
这有帮助吗?
SqlGeometry point = line.STPointN(x)
gb.BeginFigure((double)point.X, (double)point.Y, point.HasZ ? (double?)point.Z : (double?)null, point.HasM ? (double?)point.M : (double?)null );