CompareTo Method (Object)
Collapse the table of content
Expand the table of content

Guid.CompareTo Method (Object)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Compares this instance to a specified object and returns an indication of their relative values.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public Function CompareTo ( _
	value As Object _
) As Integer

Parameters

value
Type: System.Object
An object to compare, or Nothing.

Return Value

Type: System.Int32
A signed number indicating the relative values of this instance and value.

Value

Description

A negative integer

This instance is less than value.

Zero

This instance is equal to value.

A positive integer

This instance is greater than value.

-or-

value is Nothing.

Implements

IComparable.CompareTo(Object)

ExceptionCondition
ArgumentException

value is not a Guid.

Any instance of Guid, regardless of its value, is considered greater than Nothing.

value must be Nothing or an instance of Guid; otherwise, an exception is thrown.

The following code sample demonstrates how to attach and read a Guid object as an attribute on a user-defined class or interface.


Imports System.Runtime.InteropServices

' Guid for the interface IMyInterface.
<Guid("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4")> _
Interface IMyInterface
   Sub MyMethod()
End Interface

' Guid for the coclass MyTestClass.
<Guid("936DA01F-9ABD-4d9d-80C7-02AF85C822A8")> _
Public Class Example
   Implements IMyInterface

   ' Run regasm on this assembly to create .reg and .tlb files.
   ' Reg file can be used to register this coclass in the registry.
   ' Tlb file will be used to do interop.
   Public Sub MyMethod() Implements IMyInterface.MyMethod
   End Sub

   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      ' Example addresses the following in System.Runtime.InterOpServices.GuidAttribute.
      ' How to specify the attribute on interface/coclass.
      ' Retrieve the GuidAttribute from an interface/coclass.
      ' Value property on GuidAttribute class.
      ' Example addresses the following in System.Guid.
      ' Constructor Guid(string).
      ' Constructor Guid(ByteArray).
      ' Equals.
      ' Operator ==.
      ' CompareTo.
      Dim IMyInterfaceAttribute As Attribute = Attribute.GetCustomAttribute(GetType(IMyInterface), GetType(GuidAttribute))

      ' The Value property of GuidAttribute returns a string. 
      outputBlock.Text += String.Format("IMyInterface Attribute: " + CType(IMyInterfaceAttribute, GuidAttribute).Value) & vbCrLf

      ' Using the string to create a guid.
      Dim myGuid1 As New Guid(CType(IMyInterfaceAttribute, GuidAttribute).Value)
      ' Using a byte array to create a guid.
      Dim myGuid2 As New Guid(myGuid1.ToByteArray())

      ' Equals is overridden and so value comparison is done though references are different.
      If myGuid1.Equals(myGuid2) Then
         outputBlock.Text &= "myGuid1 equals myGuid2" & vbCrLf
      Else
         outputBlock.Text &= "myGuid1 not equals myGuid2" & vbCrLf
      End If
      ' Equality operator can also be used to determine if two guids have same value.
      If myGuid1.ToString() = myGuid2.ToString() Then
         outputBlock.Text &= "myGuid1 == myGuid2" & vbCrLf
      Else
         outputBlock.Text &= "myGuid1 != myGuid2" & vbCrLf
      End If
      ' CompareTo returns 0 if the guids have same value.
      If myGuid1.CompareTo(myGuid2) = 0 Then
         outputBlock.Text &= "myGuid1 compares to myGuid2" & vbCrLf
      Else
         outputBlock.Text &= "myGuid1 does not compare to myGuid2" & vbCrLf
      End If

      System.Console.ReadLine()

      'Output:
      'IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4
      'myGuid1 equals myGuid2
      'myGuid1 == myGuid2
      'myGuid1 compares to myGuid2
   End Sub
End Class


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft