Lisää

IEditSketch ja IEditSketch2

IEditSketch ja IEditSketch2


Mitä eroa on IEditSketchillä ja IEditSketch2: lla? Miksi on olemassa samoja liitäntöjä samalla nimellä, ero on "2" käyttöliittymän nimen lopussa?


Mielestäni IEditsketch2: n doc on väärä - sen pitäisi sanoa, että IEditSketch3 on ylittänyt sen.

Tarjoaa pääsyn jäsenille, jotka pääsevät muokkausluonnokseen ja käsittelevät sitä. Huomaa: IEditSketch2-käyttöliittymä on korvattu IEditSketch2 (sic). Harkitse uudemman version käyttöä.

Käyttöliittymän muuttaminen sen julkaisemisen jälkeen on COM-käytännön vastaista. Sen sijaan julkaistaan ​​uusi käyttöliittymä, joka perii kaikki menetelmät olemassa olevasta käyttöliittymästä. Kun Esri tekee tämän, he lisäävät (tai lisäävät) loppunumeron käyttöliittymän nimeen.


Tämä näyttää olevan melko yleinen asia ESRI: lle. Laskin tusinan verran rajapintoja numeroiden kanssa, kun katselin vain ArcObjects SDK: ta (ITopologyGraph4, IEditSketch2 jne.).

Yksi asia, jonka on oltava tietoinen rajapintojen eri versiosta, on se, että ne eivät aina toteudu samoissa luokissa. Törmäsin tähän työskennellessäni IPointCollection5-käyttöliittymän kanssa. Asiakirjoissa todetaan, että IPointCollection5 korvaa IPointCollection-käyttöliittymän edellisen version. IPointCollection5 on kuitenkin vain monipisteinen, minkä vuoksi sain virheitä lausunnossa

Dim pOutCollection Kuten ESRI.ArcGIS.Geometry.IPointCollection5 = Uusi ESRI.ArcGIS.Geometry.Polygon

Sen sijaan jouduin käyttämään IPointCollection4-liitäntää Point- ja Polygon-luokissa. Kun käytät uusia rajapintaversioita, katso aina luettelo luokista, jotka toteuttavat käyttöliittymän.


Näyttää siltä, ​​että he lisäsivät lisää jäseniä (CurrentZ, EditSketchExtension jne.) IEditSketch-käyttöliittymään.

Mitä miksi, on todennäköistä, että he tajusivat, että uudet toiminnot olivat tarpeen kyseiselle käyttöliittymälle. Koska alkuperäisen käyttöliittymän muuttaminen rikkoo kaikkien sopimusta käyttävien sovellusten "sopimuksen", heidän oli nimettävä se uudelleen. Varmistaakseen, että ohjelmoijat ymmärtävät, että uusi käyttöliittymä liittyy jollain tavalla vanhaan liitäntään, eli että toiminnallisuutta on lisätty, mutta että käyttöliittymän perusajatus on muuttumaton, he vain kiinnittivät "2" alkuperäisen loppuun. nimi.

Tämä näyttää olevan melko yleinen asia ESRI: lle. Laskin tusinan verran rajapintoja numeroiden kanssa, kun katselin vain ArcObjects SDK: ta (ITopologyGraph4, IEditSketch2 jne.).


Voit lukea kaikkien EditSketch-käyttöliittymien kuvaukset alla. Näyttää siltä, ​​että IEditSketch3 korvaa molemmat versiot. Voit myös lukea alla olevan "Työn muokkauspiirroksen kanssa" -linkin.

IEditSketch

IEditSketch2

IEditSketch 3

Muokkaa luonnosta