Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ';ESRI.ArcGIS.Client.GraphicCollection';不包含';添加范围';_C#_Silverlight_Windows Phone 7_Esri - Fatal编程技术网

C# ';ESRI.ArcGIS.Client.GraphicCollection';不包含';添加范围';

C# ';ESRI.ArcGIS.Client.GraphicCollection';不包含';添加范围';,c#,silverlight,windows-phone-7,esri,C#,Silverlight,Windows Phone 7,Esri,我有以下代码是addrange方法: foreach (var graphic in buffersList) { if (!graphicsLayerHeat.Graphics.Contains(graphic)) { graphicsLayerHeat.Graphics.AddRange(buffersList); } } 但是VisualStudio提示我这个错误 “ESRI.ArcGIS.Client.GraphicCollection”不包含

我有以下代码是addrange方法:

foreach (var graphic in buffersList)
{
    if (!graphicsLayerHeat.Graphics.Contains(graphic))
    {
       graphicsLayerHeat.Graphics.AddRange(buffersList);  
    }
}
但是VisualStudio提示我这个错误

“ESRI.ArcGIS.Client.GraphicCollection”不包含定义 对于“AddRange”且没有扩展方法“AddRange”接受第一个 找不到类型为“ESRI.ArcGIS.Client.GraphicCollection”的参数 (是否缺少using指令或程序集引用?)


如何更改方法,使其在不使用addrange的情况下以相同的方式工作?

只需使用
foreach
循环手动添加项即可

foreach (var buffer in buffersList) {
 graphicsLayerHeat.Graphics.Add(buffer);
}
如果这是一个常见的操作,您可能只想自己创建一个
AddRange
扩展方法

static void AddRange(this GraphicsCollection source, GraphicsCollection list) {
  foreach (var item it list) { 
    source.Add(item);
  }
}
这可能会变得更一般,但我不熟悉
GraphicsCollection
类型,所以我不知道它实现了什么接口改变了这一点

graphicsLayerHeat.Graphics.AddRange(buffersList);  
为此:

graphicsLayerHeat.Graphics.Add(graphic);  
我假设您不想一次又一次地添加
bufferlist
(就像其他回答者的解决方案那样)

较新版本的ESRI silverlight API确实有一个
AddRange
方法(更新时间?),但我认为这不是您希望使用的方法,因为您还希望执行包含检查