использование, в смысле
using (var foo = new Bar())
{
Baz();
}
Является на самом деле стенографией для блока попытки/наконец. Это эквивалентно коду:
var foo = new Bar();
try
{
Baz();
}
finally
{
foo.Dispose();
}
Вы отметите, конечно, что первый отрывок намного более краток, чем второе и также что существует много видов вещей, которые Вы могли бы хотеть сделать как очистка, даже если исключение выдается. Из-за этого мы придумали класс, что мы называем Объем, который позволяет Вам выполнять произвольный код в Расположить методе. Так, например, если бы у Вас было свойство под названием IsWorking, который Вы всегда хотели установить на ложь после попытки выполнить операцию, Вы сделали бы это как это:
using (new Scope(() => IsWorking = false))
{
IsWorking = true;
MundaneYetDangerousWork();
}
можно читать больше о нашем решении и как мы получили его здесь .
Вы перемещаете объект OpenLayers.Feature.Vector , вызывая методы его объекта geometry , а не самого вектора. Эти методы включают перемещение, поворот, изменение размера и преобразование.
Обратите внимание, что вы не найдете никаких методов, определенных в базовом объекте OpenLayers.Geometry, а только в соответствующем дочернем объекте (обратите внимание, что в геометриях OpenLayers существует несколько уровней наследования). OpenLayers.Geometry.Collection является хорошим примером.
Вы можете найти отличный пример программного перемещения векторов OpenLayers здесь .