我正在尝试使用GraphicsPath列表而不是数组,因为我不知道用户将创建的路径数。
List<GraphicsPath> PathDB = new List<GraphicsPath>();
在此之后,我按如下方式填写列表:
using(GraphicsPath myPath = new GraphicsPath())
{
myPath.AddPolygon(myPoints);
PathDB.Add(myPath);
}
但是当我尝试使用列表中的GraphicsPath时,虽然Count属性是正确的,但由于参数异常,我无法使用下面的对象。
num = PathDB.Count;
for(int k=0; k < num; k++)
{
using(GraphicsPath myCurrentPath = new GraphicsPath())
{
myCurrentPath = PathDB[k];
myCurrentPath.AddLine(0,0,400,400); //at this stage exception is thrown
myGraphics.DrawPath(myPen, myCurrentPath)
}
}
与GraphicsPath有关的是Disposabe吗?或者做smt错了?
答案 0 :(得分:3)
using(GraphicsPath myPath = new GraphicsPath())
{
myPath.AddPolygon(myPoints);
PathDB.Add(myPath);
} // this disposes myPath
这是一个本地图形路径。如果已完成,则using
阻止Dispose
阻止范围using
。因此,您需要删除 $catlist = get_terms( 'category' ); // get category list
$string ="<ul>";
foreach ( $catlist as $key => $item )
{
$thumbnail_id = get_woocommerce_term_meta( $item->term_id, 'thumbnail_id', true );
$image = wp_get_attachment_url( $thumbnail_id );
if ( $image ) {
$image_dis='<img src="' . $image . '" alt="' . $cat->name . '" />';
}
$string .= '<li>'. $item->name . '<br />';
$string .= $image_dis . '<br />';
$string .= '<em>'. $item->description . '</em> </li>';
}
$string .="</ul>";
echo $string;
阻止,而是在您不再需要路径时将其丢弃。