Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

IVSSCheckouts.GetEnumerator Método

Obtém um enumerador.

Namespace:  Microsoft.VisualStudio.SourceSafe.Interop
Assembly:  Microsoft.VisualStudio.SourceSafe.Interop (em Microsoft.VisualStudio.SourceSafe.Interop. dll)

IEnumerator GetEnumerator()

Valor de retorno

Tipo: System.Collections.IEnumerator
Um enumerador.

Implementa

IEnumerable.GetEnumerator()

[IDL]

HRESULT _NewEnum ([out,retval]IUnknown **ppIEnum);

Este método é usado explicitamente no Visual C++.O Visual C# e Visual Basic usam o loop foreach que usa o método GetEnumerator internamente.

O exemplo a seguir demonstra como fazer uma iteração através da coleção IVSSCheckouts de um arquivo usando LOOP foreach que usa o método GetEnumerator internamente.

Para executar este testar, $/A/a.txt o arquivo deve ser Marcado Out por dois usuários.Múltiplo checkouts deve ser habilitado pela VSS Administrator.Para habilitar múltiplo Marcarouts, o menu Ferramentas, clique em Opções , clique na guia Geral Selecionar o caixa de seleção Allow Multiple Marcarouts e clique OK.


using System;
using Microsoft.VisualStudio.SourceSafe.Interop;

public class IVSSTest
{
    public static void Main()
    {
        // Create a VSSDatabase object.
        IVSSDatabase vssDatabase = new VSSDatabase();

        // Open a VSS database using network name 
        // for automatic user login.
        vssDatabase.Open(@"C:\VSSTestDB\srcsafe.ini", 
                         Environment.UserName, ""); 
            
        IVSSItem vssFile = vssDatabase.get_VSSItem("$/A/a.txt", false);

        foreach(IVSSCheckout vssCheckout in vssFile.Checkouts)
        {
            Console.WriteLine("Checked out to :  {0}", vssCheckout.Username);
            Console.WriteLine("Comment        :  {0}", vssCheckout.Comment);
            Console.WriteLine("Date           :  {0}", vssCheckout.Date);
            Console.WriteLine("LocalSpec      :  {0}", vssCheckout.LocalSpec);
            Console.WriteLine("Machine        :  {0}", vssCheckout.Machine);
            Console.WriteLine("Project        :  {0}", vssCheckout.Project);
            Console.WriteLine("VersionNumber  :  {0}", vssCheckout.VersionNumber);
            Console.WriteLine();
        }    
        Console.WriteLine("Number of Checkouts: " + vssFile.Checkouts.Count);
        Console.WriteLine("\n");
    }
}

Saída:

Checked out to :  Guest
Comment        :  Check out to working folder
Date           :  11/10/2003 10:52:40 AM
LocalSpec      :  C:\VSSTESTWF\A
Machine        :  Tester_01
Project        :  $/A
VersionNumber  :  1

Checked out to :  Admin
Comment        :  Check out to folder C:\1
Date           :  11/10/2003 10:51:56 AM
LocalSpec      :  C:\1
Machine        :  Tester_02
Project        :  $/A
VersionNumber  :  1

Number of checkouts: 2

Mostrar: