Espaço para nome System


Este é um conteúdo traduzido por máquina.
Biblioteca de classes do .NET Framework
Estrutura Guid

Representa um identificador global exclusivo (GUID).

Namespace:  System
Assembly:  mscorlib (em mscorlib. dll)
Sintaxe

Visual Basic (Declaração)
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Structure Guid _
    Implements IFormattable, IComparable, IComparable(Of Guid),  _
    IEquatable(Of Guid)
Visual Basic (Uso)
Dim instance As Guid
C#
[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Guid : IFormattable, IComparable, 
    IComparable<Guid>, IEquatable<Guid>
Visual C++
[SerializableAttribute]
[ComVisibleAttribute(true)]
public value class Guid : IFormattable, IComparable, 
    IComparable<Guid>, IEquatable<Guid>
JScript
O JScript oferece suporte ao uso de estruturas, mas não à declaração de novas.
Comentários

Um GUID é um inteiro de 128 bits (16 bytes) que pode ser usado em Tudo computadores e redes sempre que um identificador exclusivo é necessário. Um identificador tem uma probabilidade muito baixa do que está sendo duplicado.

Exemplos

O exemplo de código a seguir demonstra como anexar e ler um objeto de Guid como um atributo em uma classe definida pelo usuário ou a interface.

Visual Basic
Imports System
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

    ' 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 Main()
        ' 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. 
        System.Console.WriteLine("IMyInterface Attribute: " + CType(IMyInterfaceAttribute, GuidAttribute).Value)

        ' 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
            System.Console.WriteLine("myGuid1 equals myGuid2")
        Else
            System.Console.WriteLine("myGuid1 not equals myGuid2")
        End If 
        ' Equality operator can also be used to determine if two guids have same value.
        If myGuid1.ToString() = myGuid2.ToString() Then
            System.Console.WriteLine("myGuid1 == myGuid2")
        Else
            System.Console.WriteLine("myGuid1 != myGuid2")
        End If
        ' CompareTo returns 0 if the guids have same value.
        If myGuid1.CompareTo(myGuid2) = 0 Then
            System.Console.WriteLine("myGuid1 compares to myGuid2")
        Else
            System.Console.WriteLine("myGuid1 does not compare to myGuid2")
        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
C#
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
{
    // 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 void MyMethod() {}

    public static void Main( string []args )
    {
        // 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.

        Attribute IMyInterfaceAttribute = Attribute.GetCustomAttribute( typeof( IMyInterface ), typeof( GuidAttribute ) );

        // The Value property of GuidAttribute returns a string. 
        System.Console.WriteLine( "IMyInterface Attribute: " + ((GuidAttribute)IMyInterfaceAttribute).Value );    

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

        // Equals is overridden and so value comparison is done though references are different.
        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" );

        // CompareTo returns 0 if the guids have same value.
        if ( myGuid1.CompareTo( myGuid2 ) == 0 )
            System.Console.WriteLine( "myGuid1 compares to myGuid2" );
        else
            System.Console.WriteLine( "myGuid1 does not compare to myGuid2" );

        System.Console.ReadLine();

        //Output.
        //IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4
        //myGuid1 equals myGuid2
        //myGuid1 == myGuid2
        //myGuid1 compares to myGuid2
    }
}
Visual C++
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:

   // 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.
   virtual void MyMethod(){}
};

int main()
{
   // 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.
   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 and so value comparison is done though references are different.
   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" );

   // CompareTo returns 0 if the guids have same value.
   if ( myGuid1.CompareTo( myGuid2 ) == 0 )
      System::Console::WriteLine(  "myGuid1 compares to myGuid2" );
   else
      System::Console::WriteLine(  "myGuid1 does not compare to myGuid2" );

   //Output.
   //IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4
   //myGuid1 equals myGuid2
   //myGuid1 == myGuid2
   //myGuid1 compares to myGuid2
}
J#
import System.*;
import System.Runtime.InteropServices.*;

// Guid for the interface IMyInterface.
/** @attribute Guid("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4")
 */
interface IMyInterface
{
    void MyMethod();
} //IMyInterface

// Guid for the coclass MyTestClass.
/** @attribute Guid("936DA01F-9ABD-4d9d-80C7-02AF85C822A8")
 */
public class MyTestClass 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 void MyMethod()
    {
    } //MyMethod

    public static void main(String[] args)
    {
        // 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.
        Attribute iMyInterfaceAttribute = 
                  Attribute.GetCustomAttribute(IMyInterface.class.ToType(), 
                  GuidAttribute.class.ToType());

        // The Value property of GuidAttribute returns a string. 
        System.Console.WriteLine("IMyInterface Attribute: " 
            + ((GuidAttribute)(iMyInterfaceAttribute)).get_Value());

        // Using the string to create a guid.
        Guid myGuid1 = 
             new Guid(((GuidAttribute)(iMyInterfaceAttribute)).get_Value());
        // Using a byte array to create a guid.
        Guid myGuid2 = new Guid(myGuid1.ToByteArray());
        // Equals is overridden and so value comparison is done though 
        // references are different.
        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");
        }
        // CompareTo returns 0 if the guids have same value.
        if (myGuid1.CompareTo(myGuid2) == 0) {
            System.Console.WriteLine("myGuid1 compares to myGuid2");
        }
        else {
            System.Console.WriteLine("myGuid1 does not compare to myGuid2");
        }
        System.Console.ReadLine();
    } //main 
} //MyTestClass 

//Output.
//IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4
//myGuid1 equals myGuid2
//myGuid1 == myGuid2
//myGuid1 compares to myGuid2
JScript
import System;
import System.Runtime.InteropServices;

// Guid for the interface IMyInterface.
Guid("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4") interface IMyInterface
{
    function MyMethod();
}

// Guid for the coclass MyTestClass.
public Guid("936DA01F-9ABD-4d9d-80C7-02AF85C822A8") class MyTestClass 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 function MyMethod() {}

    public static function Main()
    {
        // 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.

        var IMyInterfaceAttribute : Attribute = Attribute.GetCustomAttribute(Type.GetType("IMyInterface"), GuidAttribute);

        // The Value property of GuidAttribute returns a string. 
        System.Console.WriteLine( "IMyInterface Attribute: " + (GuidAttribute(IMyInterfaceAttribute)).Value );    

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

        // Equals is overridden and so value comparison is done though references are different.
        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" );

        // CompareTo returns 0 if the guids have same value.
        if ( myGuid1.CompareTo( myGuid2 ) == 0 )
            System.Console.WriteLine( "myGuid1 compares to myGuid2" );
        else
            System.Console.WriteLine( "myGuid1 does not compare to myGuid2" );

        System.Console.ReadLine();

        //Output.
        //IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4
        //myGuid1 equals myGuid2
        //myGuid1 == myGuid2
        //myGuid1 compares to myGuid2
    }
}

MyTestClass.Main();

Segurança de Segmentos

Quaisquer membros público estático (compartilhado no Visual Basic) deste tipo são processos seguros. Quaisquer membros de instância não são garantidos como processos seguros.
Plataformas

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, O Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

O .NET Framework e .NET Compact Framework não suporte para todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos de sistema do .NET framework.
Informações de versão

.NET Framework

Compatível com: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatível com: 3.5, 2.0, 1.0

XNA Framework

Compatível com: , 1.0
Consulte também

Referência

Marcas :


Page view tracker