.net 仅从片段构造Uri对象

xdyibdwo  于 2023-04-22  发布在  .NET
关注(0)|答案(1)|浏览(101)

是否可以仅从片段创建System.Uri对象,例如

new System.Uri("#something", UriKind.Relative)

我尝试使用相对或绝对方案,但它立即抛出异常。

背景

使用Svg.NET,我创建了一个SvgTextPath对象,需要将父路径对象的ID分配给ReferencedPath属性,如Mozilla SVG docs中所建议的。然而,ReferencePath的类型为System.Uri,并且不接受简单的字符串。如何将元素的ID转换为Uri对象?

ttcibm8c

ttcibm8c1#

System.UriFluentUriBuilder都不能生成一个只包含片段部分的System.Uri对象。然后我发现SvgTextPath支持CustomAttributes,并且可以使用下面简单的一行添加对我的路径对象的引用:

svgTextPath.CustomAttributes.Add("href", "#" + path.ID.ToString());

这将正确工作并在路径上实现文本。
希望Svg.NET的人将来把ReferencePath属性的类型从Uri改为string

相关问题