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

IVSSVersions.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.

[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 de um arquivo usando um loop IVSSVersions internamente que usa o método foreachGetEnumerator.

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

public class IVSSTest
{
    public static void Main()
    {
        string testFile = "$/A/test.txt";

        // 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, ""); 

        // Test Version:
        Console.WriteLine("\n$/A/test.txt versions: \n");
        IVSSItem vssFile = vssDatabase.get_VSSItem(testFile, false);
        Console.WriteLine("-------------------------------------------------");
        Console.WriteLine("{0,-5}{1,-9}{2,-15}{3,-7}{4}", "Ver", 
                          "Label", "Label Comment", "User", "Checked Out");
        Console.WriteLine("-------------------------------------------------");
        foreach(IVSSVersion vssVersion in vssFile.get_Versions(0))
        {
            string status;
            if((VSSFileStatus)vssVersion.VSSItem.IsCheckedOut == 
               VSSFileStatus.VSSFILE_NOTCHECKEDOUT)
                status = "NO";
            else    
                status = "YES";
            Console.WriteLine("{0,-5}{1,-9}{2,-15}{3,-7}{4}", 
                              vssVersion.VersionNumber, vssVersion.Label, 
                              vssVersion.LabelComment, vssVersion.Username, status);
        }    
        Console.WriteLine("-------------------------------------------------");
    }
}

Saída:

Versões $/A/Test.txt:

-------------------------------------------------
Ver  Label    Label Comment   User     Checked Out
-------------------------------------------------
3    Lbl2     Attaching Lbl2  Guest1   NO
2                             Guest1   NO
1    Lbl1     Attaching Lbl1  Guest1   NO

Mostrar: