Constructs the geometry that contains points from either but not both input geometries.
[Visual Basic 6.0] Function SymmetricDifference(
ByVal other As IGeometry _
) As IGeometry
[Visual Basic .NET] Public Function SymmetricDifference ( _ ByVal other As IGeometry _ ) As IGeometry
[C#] public IGeometry SymmetricDifference ( IGeometry other );
[Java] public IGeometry symmetricDifference ( IGeometry other ) throws IOException, AutomationException
[C++] HRESULT SymmetricDifference( IGeometry* other, IGeometry** resultGeom );
Parameters
other
other is a parameter of type IGeometry
resultGeom [out, retval]
resultGeom is a parameter of type IGeometry
The SymmetricDifference between two Geometries of the same Dimension is the Union of those Geometries minus the Intersection of those Geometries. Thus, the SymmetricDifference is composed only of regions unique to only one of the geometries.
This method does not support GeometryBags.
SymmetricDifference is basically an XOR between the input geometries.
SymmetricDifference of G1 and G2 can also be described as the Union(Difference(G1, G2), Difference(G2, G1)).
ITopologicalOperator methods must be applied on high-level geometries only. High-Level geometries are point, multipoint, polyline and polygon. To use this method with low-level geometries such as segments (Line, Circular Arc, Elliptic Arc, Bézier Curve), paths or rings, they must be wrapped into high-level geometries types.
This method does not support GeometryBags.

//The following code shows to wrap a line segment into a polyline in C#
//Assume a line (line1 as ILine) is already created
object obj = Type.Missing;
ISegmentCollection segCollection = new PolylineClass() as ISegmentCollection;
segCollection.AddSegment((ISegment)line1, ref obj, ref obj);
//Set the spatial reference on the new polyline
//The spatial reference is not transfered automatically from the segments
IGeometry geom = segCollection as IGeometry;
geom.SpatialReference = spatialRef;
//Can now be used with ITopologicalOperator methods
'How to wrap a line segment into a polyline in VB6
'Assume a line (pLine as ILine) is already created
dim psc as ISegmentCollection
set psc = New Polyline
psc.addsegment pline
'Set the spatial reference on the new polyline
'The spatial reference is not transfered automatically from the segments
dim pgeo as IGeometry
set pgeo = psc
set pgeo.SpatialReference = pMyspatialReference
'Can now be used with ITopologicalOperator methods