Compares this instance to a specified object and returns an indication of their relative values.
Assembly: mscorlib (in mscorlib.dll)
Public Function CompareTo ( _ value As Object _ ) As Integer
public int CompareTo( Object value )
public: virtual int CompareTo( Object^ value ) sealed
abstract CompareTo : value:Object -> int override CompareTo : value:Object -> int
Parameters
- value
- Type: System.Object
An object to compare, or null.
Return Value
Type: System.Int32A signed number indicating the relative values of this instance and value.
Return 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 null. |
Implements
IComparable.CompareTo(Object)| Exception | Condition |
|---|---|
| ArgumentException |
value is not a Guid. |
Any instance of Guid, regardless of its value, is considered greater than null.
The value parameter must be null or an instance of Guid; otherwise, an exception is thrown.
The following example 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 MyTestClass Implements IMyInterface Public Sub MyMethod() Implements IMyInterface.MyMethod End Sub Public Shared Sub Main() Dim IMyInterfaceAttribute As GuidAttribute = CType(Attribute.GetCustomAttribute(GetType(IMyInterface), GetType(GuidAttribute)), GuidAttribute) ' The Value property of GuidAttribute returns a string. Console.WriteLine("IMyInterface Attribute: " + IMyInterfaceAttribute.Value) ' Use the string to create a guid. Dim myGuid1 As New Guid(IMyInterfaceAttribute.Value) ' Use a byte array to create a guid. Dim myGuid2 As New Guid(myGuid1.ToByteArray()) ' Equals is overridden to perform a value comparison. If myGuid1.Equals(myGuid2) Then Console.WriteLine("myGuid1 equals myGuid2") Else Console.WriteLine("myGuid1 does not equal myGuid2") End If ' The equality operator can also be used to determine if two guids have same value. If myGuid1.ToString() = myGuid2.ToString() Then Console.WriteLine("myGuid1 == myGuid2") Else Console.WriteLine("myGuid1 != myGuid2") End If End Sub End Class ' The example displays the following output: ' IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4 ' myGuid1 equals myGuid2 ' myGuid1 == myGuid2
using System; using System.Runtime.InteropServices; // Guid for the interface IMyInterface. [Guid("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4")] interface IMyInterface { void MyMethod(); } // Guid for the coclass MyTestClass. [Guid("936DA01F-9ABD-4d9d-80C7-02AF85C822A8")] public class MyTestClass : IMyInterface { public void MyMethod() {} public static void Main( string []args ) { GuidAttribute IMyInterfaceAttribute = (GuidAttribute) Attribute.GetCustomAttribute(typeof(IMyInterface), typeof(GuidAttribute)); // The Value property of GuidAttribute returns a string. System.Console.WriteLine("IMyInterface Attribute: " + IMyInterfaceAttribute.Value ); // Using the string to create a guid. Guid myGuid1 = new Guid(IMyInterfaceAttribute.Value ); // Using a byte array to create a guid. Guid myGuid2 = new Guid(myGuid1.ToByteArray()); // Equals is overridden to perform a value comparison. if (myGuid1.Equals(myGuid2)) System.Console.WriteLine("myGuid1 equals myGuid2"); else System.Console.WriteLine("myGuid1 does not equal myGuid2" ); // Equality operator can also be used to determine if two guids have same value. if ( myGuid1 == myGuid2 ) System.Console.WriteLine( "myGuid1 == myGuid2" ); else System.Console.WriteLine( "myGuid1 != myGuid2" ); } } // The example displays the following output: // IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4 // myGuid1 equals myGuid2 // myGuid1 == myGuid2
using namespace System; using namespace System::Runtime::InteropServices; // Guid for the interface IMyInterface. [Guid("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4")] public interface class IMyInterface { public: void MyMethod(); }; // Guid for the coclass MyTestClass. [Guid("936DA01F-9ABD-4d9d-80C7-02AF85C822A8")] public ref class MyTestClass: public IMyInterface { public: virtual void MyMethod(){} }; int main() { Attribute^ IMyInterfaceAttribute = Attribute::GetCustomAttribute( IMyInterface::typeid, GuidAttribute::typeid ); // The Value property of GuidAttribute returns a string. System::Console::WriteLine( String::Concat( "IMyInterface Attribute: ", (dynamic_cast<GuidAttribute^>(IMyInterfaceAttribute))->Value ) ); // Using the string to create a guid. Guid myGuid1 = Guid(dynamic_cast<GuidAttribute^>(IMyInterfaceAttribute)->Value); // Using a byte array to create a guid. Guid myGuid2 = Guid(myGuid1.ToByteArray()); // Equals is overridden to perform a value comparison. if ( myGuid1.Equals( myGuid2 ) ) System::Console::WriteLine( "myGuid1 equals myGuid2" ); else System::Console::WriteLine( "myGuid1 not equals myGuid2" ); // Equality operator can also be used to determine if two guids have same value. if ( myGuid1 == myGuid2 ) System::Console::WriteLine( "myGuid1 == myGuid2" ); else System::Console::WriteLine( "myGuid1 != myGuid2" ); } // The example displays the following output: // IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4 // myGuid1 equals myGuid2 // myGuid1 == myGuid2
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Supported in: 4, 3.5 SP1Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.