Guid Struct

Definición

Representa un identificador único global (GUID). Represents a globally unique identifier (GUID).

[System.Runtime.InteropServices.ComVisible(true)]
[Serializable]
public struct Guid : IComparable, IComparable<Guid>, IEquatable<Guid>, IFormattable
Herencia
Atributos
ComVisibleAttribute SerializableAttribute
Implementaciones

Ejemplos

En el ejemplo siguiente se usa el System.Runtime.InteropServices.GuidAttribute clase para asignar un GUID a una interfaz y a una clase definida por el usuario.The following example uses the System.Runtime.InteropServices.GuidAttribute class to assign a GUID to an interface and to a user-defined class. Recupera el valor del GUID mediante una llamada a la GetCustomAttribute método y lo compara con otro dos GUID para determinar si son iguales.It retrieves the value of the GUID by calling the GetCustomAttribute method, and compares it with two other GUIDs to determine whether they are equal.

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
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));
        
        System.Console.WriteLine("IMyInterface Attribute: " + IMyInterfaceAttribute.Value );    

        // Use the string to create a guid.
        Guid myGuid1 = new Guid(IMyInterfaceAttribute.Value );
        // Use a byte array to create a guid.
        Guid myGuid2 = new Guid(myGuid1.ToByteArray());

        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
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)

        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())

        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

Tenga en cuenta que el GuidAttribute atributo se usa normalmente en una aplicación para exponer un tipo a COM.Note that the GuidAttribute attribute is typically used in an application to expose a type to COM. Si compila este ejemplo, puede ejecutar el herramienta Registro de ensamblados (Regasm.exe) en el ensamblado generado para crear el registro (. reg) y escriba archivos de biblioteca (.tlb).If you compile this example, you can run the Assembly Registration tool (Regasm.exe) on the generated assembly to create registry (.reg) and type library (.tlb) files. El archivo .reg se puede usar para registrar la coclase en el registro y el archivo .tlb puede proporcionar metadatos para la interoperabilidad COM.The .reg file can be used to register the coclass in the registry, and the .tlb file can provide metadata for COM interop.

Comentarios

Un GUID es un entero de 128 bits (16 bytes) que se puede utilizar en todos los equipos y redes donde se requiere un identificador único.A GUID is a 128-bit integer (16 bytes) that can be used across all computers and networks wherever a unique identifier is required. Este tipo de identificador tiene muy pocas probabilidades de que se va a duplicar.Such an identifier has a very low probability of being duplicated.

Constructores

Guid(Byte[])

Inicializa una nueva instancia de la estructura Guid usando la matriz de bytes especificada. Initializes a new instance of the Guid structure by using the specified array of bytes.

Guid(ReadOnlySpan<Byte>)
Guid(String)

Inicializa una nueva instancia de la estructura Guid usando el valor representado por la cadena especificada. Initializes a new instance of the Guid structure by using the value represented by the specified string.

Guid(Int32, Int16, Int16, Byte[])

Inicializa una nueva instancia de la estructura Guid usando la matriz de enteros y bytes especificada. Initializes a new instance of the Guid structure by using the specified integers and byte array.

Guid(Int32, Int16, Int16, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte)

Inicializa una nueva instancia de la estructura Guid usando los enteros y bytes especificados. Initializes a new instance of the Guid structure by using the specified integers and bytes.

Guid(UInt32, UInt16, UInt16, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte)

Inicializa una nueva instancia de la estructura Guid usando los enteros y bytes sin firmar especificados. Initializes a new instance of the Guid structure by using the specified unsigned integers and bytes.

Campos

Empty

Instancia de solo lectura de la estructura Guid cuyo valor es todo ceros. A read-only instance of the Guid structure whose value is all zeros.

Métodos

CompareTo(Guid)

Compara esta instancia con un objeto Guid especificado y devuelve una indicación de los valores relativos. Compares this instance to a specified Guid object and returns an indication of their relative values.

CompareTo(Object)

Compara esta instancia con un objeto especificado y devuelve una indicación de los valores relativos. Compares this instance to a specified object and returns an indication of their relative values.

Equals(Guid)

Devuelve un valor que indica si esta instancia y un objeto Guid especificado representan el mismo valor. Returns a value indicating whether this instance and a specified Guid object represent the same value.

Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado. Returns a value that indicates whether this instance is equal to a specified object.

GetHashCode()

Devuelve el código hash de esta instancia. Returns the hash code for this instance.

NewGuid()

Inicializa una nueva instancia de la estructura Guid. Initializes a new instance of the Guid structure.

Parse(String)

Convierte la representación de cadena de un identificador GUID en la estructura Guid equivalente. Converts the string representation of a GUID to the equivalent Guid structure.

Parse(ReadOnlySpan<Char>)
ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>)
ParseExact(String, String)

Convierte la representación de cadena de un identificador GUID en la estructura Guid equivalente, siempre y cuando la cadena tenga el formato especificado. Converts the string representation of a GUID to the equivalent Guid structure, provided that the string is in the specified format.

ToByteArray()

Devuelve una matriz de bytes de 16 elementos que contiene el valor de esta instancia. Returns a 16-element byte array that contains the value of this instance.

ToString()

Devuelve una representación de cadena del valor de esta instancia con formato del Registro. Returns a string representation of the value of this instance in registry format.

ToString(String)

Devuelve una representación de cadena del valor de esta instancia de Guid, de acuerdo con el especificador de formato proporcionado. Returns a string representation of the value of this Guid instance, according to the provided format specifier.

ToString(String, IFormatProvider)

Devuelve una representación de cadena del valor de esta instancia de la clase Guid, de acuerdo con el especificador de formato proporcionado y la información de formato específica de la referencia cultural. Returns a string representation of the value of this instance of the Guid class, according to the provided format specifier and culture-specific format information.

TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>)
TryParse(ReadOnlySpan<Char>, Guid)
TryParse(String, Guid)

Convierte la representación de cadena de un identificador GUID en la estructura Guid equivalente. Converts the string representation of a GUID to the equivalent Guid structure.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Guid)
TryParseExact(String, String, Guid)

Convierte la representación de cadena de un identificador GUID en la estructura Guid equivalente, siempre y cuando la cadena tenga el formato especificado. Converts the string representation of a GUID to the equivalent Guid structure, provided that the string is in the specified format.

TryWriteBytes(Span<Byte>)

Operadores

Equality(Guid, Guid)

Indica si los valores de los dos objetos Guid especificados son iguales. Indicates whether the values of two specified Guid objects are equal.

Inequality(Guid, Guid)

Indica si los valores de los dos objetos Guid especificados no son iguales. Indicates whether the values of two specified Guid objects are not equal.

Implementaciones de interfaz explícitas

IComparable.CompareTo(Object)
IFormattable.ToString(String, IFormatProvider)

Se aplica a