Questo consente di istanziare e inizializzare il tutto in una singola riga.
Una istanza di ESRI.ArcGIS.Geometry.Point può essere creata in .NET 3.0:
IPoint point = new PointClass { X = 3.5, Y = 5.8 };
Può essere pratico nel caso in cui multiple Interface sono richieste per inizializzare un oggetto che richiederebbero nel caso del casting (per esempio utilizzando IQueryFilter and IQueryFilterDefinition per inizializzare un query filter).
IQueryFilter queryFilter = new QueryFilterClass { WhereClause = "PID > 40", PostfixClause = "ORDER BY PID" };
IDatasetName datasetName = new FeatureClassNameClass { Name = "Parcels", WorkspaceName = wsName };
ILine line = new LineClass { FromPoint = point1, ToPoint = point2 };
Questo approccio è comunque da evitare quando:
- una proprietà può gettare un errore perchè nel caso sarebbe difficoltoso 'debuggare'.
- il codice può diventare difficile da leggere quando siamo in presenza di diverse interfacce ereditate dalla classe (per esempio Field)
Vedi articolo
Nessun commento:
Posta un commento