オブジェクト複製


オブジェクトは複製であるかどうかは、値を変えた時に変更が元のオブジェクトに反映されるか否かで判別がつく。
複製にはコストがかかるし、反映には再セットが必要。
これが基本の「キ」。

var mxdPath = @"C:\temp\TEST.mxd";

using (ComReleaser com = new ComReleaser())
{
    IMapDocument mapDoc = new MapDocumentClass();
    com.ManageLifetime(mapDoc);

    mapDoc.Open(mxdPath);

    var map = mapDoc.get_Map(0);
    com.ManageLifetime(map);

    mapDoc.Close();

    var ext = ((IActiveView)map).Extent;
    com.ManageLifetime(ext);
    ext.Expand(2, 2, true);

    //これは同じになるでしょうかc1-225?
    Console.WriteLine("{0} {1} {2} {3}", ext.XMin, ext.YMin, ext.XMax, ext.YMax);

    Console.WriteLine("{0} {1} {2} {3}",
        ((IActiveView)map).Extent.XMin, ((IActiveView)map).Extent.YMin, 
        ((IActiveView)map).Extent.XMax, ((IActiveView)map).Extent.YMax);
}//end com
カテゴリー: 開発 タグ: パーマリンク