Compartilhar via


Tutorial: criar uma biblioteca de classes .NET usando o Visual Studio

Neste tutorial, você vai criar uma biblioteca de classes simples que contém um só método de manipulação de cadeia de caracteres.

Uma biblioteca de classes define tipos e métodos que são chamados por um aplicativo. Se a biblioteca for direcionada ao .NET Standard 2.0, ela poderá ser chamada por qualquer implementação do .NET (incluindo o .NET Framework) que dê suporte ao .NET Standard 2.0. Se a biblioteca tiver como destino o .NET 8, ela poderá ser chamada por qualquer aplicativo que tenha como destino o .NET 8. Este tutorial mostra como fazer para o destino do .NET 8.

Ao criar uma biblioteca de classes, você pode distribuí-la como um pacote NuGet ou como um componente no pacote com o aplicativo que a usa.

Pré-requisitos

Criar uma solução

Comece criando uma solução em branco para colocar o projeto de biblioteca de classes. Uma solução do Visual Studio serve como um contêiner para um ou mais projetos. Você adicionará projetos adicionais relacionados à mesma solução.

Para criar a solução em branco:

  1. Inicie o Visual Studio.

  2. Na tela Iniciar, selecione Criar um novo projeto.

  3. Na página Criar um projeto, insira solução na caixa de pesquisa. Selecione o modelo Solução em branco e clique em Avançar.

    Blank solution template in Visual Studio

  4. Na página Configurar o novo projeto, insira ClassLibraryProjects na caixa Nome da solução. Em seguida, escolha Criar.

Criar um projeto de biblioteca de classes

  1. Adicione um novo projeto de biblioteca de classes .NET chamado "StringLibrary" para a solução.

    1. Clique com o botão direito do mouse na solução em Gerenciador de Soluções e selecione Adicionar>Novo Projeto.

    2. Na página Adicionar um novo projeto, insira biblioteca na caixa de pesquisa. Escolha C# ou Visual Basic na lista Linguagem e depois Todas as plataformas na lista Plataforma. Escolha o modelo Biblioteca de Classes e escolha Avançar.

    3. Na página Configurar o novo projeto, insira StringLibrary na caixa Nome do projeto e clique em Avançar.

    4. Na página Informações adicionais, selecione .NET 8 (Prévia) e, em seguida, Criar.

  2. Verifique se a biblioteca é direcionada à versão correta do .NET. Clique com o botão direito do mouse no projeto de biblioteca no Gerenciador de Soluções e selecione Propriedades. A caixa de texto Estrutura de Destino mostra que o projeto tem como destino o .NET 7.0.

  3. Se você estiver usando o Visual Basic, limpe o texto na caixa de texto do Namespace raiz.

    Project properties for the class library

    Para cada projeto, o Visual Basic cria automaticamente um namespace que corresponde ao nome do projeto. Neste tutorial, você define um namespace de nível superior usando a palavra-chave namespace no arquivo de código.

  4. Substitua o código na janela de código de Class1.cs or Class1.vb pelo mostrado no código a seguir e salve o arquivo. Se a linguagem que você quer usar não aparecer, altere o seletor de linguagem na parte superior da página.

    namespace UtilityLibraries;
    
    public static class StringLibrary
    {
        public static bool StartsWithUpper(this string? str)
        {
            if (string.IsNullOrWhiteSpace(str))
                return false;
    
            char ch = str[0];
            return char.IsUpper(ch);
        }
    }
    
    Imports System.Runtime.CompilerServices
    
    Namespace UtilityLibraries
        Public Module StringLibrary
            <Extension>
            Public Function StartsWithUpper(str As String) As Boolean
                If String.IsNullOrWhiteSpace(str) Then
                    Return False
                End If
    
                Dim ch As Char = str(0)
                Return Char.IsUpper(ch)
            End Function
        End Module
    End Namespace
    

    A biblioteca de classes UtilityLibraries.StringLibrary contém um método chamado StartsWithUpper. Esse método retorna um valor Boolean que indica se a instância atual da cadeia de caracteres começa com um caractere maiúsculo. O padrão Unicode distingue caracteres maiúsculos de caracteres minúsculos. O método Char.IsUpper(Char) retornará true se um caractere for maiúsculo.

    StartsWithUpper é implementado como um método de extensão para que você possa chamá-lo como se ele fosse um membro da classe String. O ponto de interrogação (?) depois de string no código C# indica que a cadeia de caracteres pode ser nula.

  5. Na barra de menus, selecione Criar>Criar Solução ou pressione Ctrl+Shift+B para verificar se o projeto é compilado sem erro.

Adicionar um aplicativo de console à solução

Adicione um aplicativo de console que usa a biblioteca de classes. O aplicativo solicitará que o usuário insira uma cadeia de caracteres e informe se a cadeia de caracteres começa com um caractere maiúsculo.

  1. Adicione um novo aplicativo de console .NET chamado "ShowCase" à solução.

    1. Clique com o botão direito do mouse na solução em Gerenciador de Soluções e selecione Adicionar>Novo projeto.

    2. Na página Adicionar um projeto, insira console na caixa de pesquisa. Escolha C# ou Visual Basic na lista Linguagem e depois Todas as plataformas na lista Plataforma.

    3. Escolha o modelo Aplicativo de Console e selecione Avançar.

    4. Na página Configurar o novo projeto, insira ShowCase na caixa Nome do projeto. Em seguida, escolha Avançar.

    5. Na página Informações Adicionais, selecione .NET 8 (Prévia) na caixa Framework. Em seguida, escolha Criar.

  2. Na janela de código do arquivo Program.cs ou Program.vb, substitua todo o código pelo código a seguir.

    using UtilityLibraries;
    
    class Program
    {
        static void Main(string[] args)
        {
            int row = 0;
    
            do
            {
                if (row == 0 || row >= 25)
                    ResetConsole();
    
                string? input = Console.ReadLine();
                if (string.IsNullOrEmpty(input)) break;
                Console.WriteLine($"Input: {input}");
                Console.WriteLine("Begins with uppercase? " +
                     $"{(input.StartsWithUpper() ? "Yes" : "No")}");
                Console.WriteLine();
                row += 4;
            } while (true);
            return;
    
            // Declare a ResetConsole local method
            void ResetConsole()
            {
                if (row > 0)
                {
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey();
                }
                Console.Clear();
                Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}");
                row = 3;
            }
        }
    }
    
    Imports UtilityLibraries
    
    Module Program
        Dim row As Integer = 0
    
        Sub Main()
            Do
                If row = 0 OrElse row >= 25 Then ResetConsole()
    
                Dim input As String = Console.ReadLine()
                If String.IsNullOrEmpty(input) Then Return
    
                Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " +
                                  $"{If(input.StartsWithUpper(), "Yes", "No")} {Environment.NewLine}")
                row += 3
            Loop While True
        End Sub
    
        Private Sub ResetConsole()
            If row > 0 Then
                Console.WriteLine("Press any key to continue...")
                Console.ReadKey()
            End If   
            Console.Clear()
            Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}")
            row = 3  
        End Sub
    End Module
    

    O código usa a variável row ​​para manter uma contagem do número de linhas de dados gravadas na janela do console. Sempre que ela for igual ou superior a 25, o código limpa a janela do console e exibe uma mensagem para o usuário.

    O programa solicita que o usuário insira uma cadeia de caracteres. Ele indica se a cadeia de caracteres começa com um caractere maiúsculo. Se o usuário pressionar a tecla Enter sem inserir uma cadeia de caracteres, o aplicativo será encerrado e a janela do console será fechada.

Adicionar uma referência ao projeto

Inicialmente, o novo projeto de aplicativo de console não tem acesso à biblioteca de classes. Para permitir que ele chame métodos na biblioteca de classes, crie uma referência de projeto para o projeto da biblioteca de classes.

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no nó Dependências do projeto ShowCase e selecione Adicionar Referência de Projeto.

    Add reference context menu in Visual Studio

  2. Na caixa de diálogo Gerenciador de Referências, selecione o projeto StringLibrary e clique no botão OK.

    Reference Manager dialog with StringLibrary selected

Executar o aplicativo

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto ShowCase e selecione Definir como Projeto de Inicialização no menu de contexto.

    Visual Studio project context menu to set startup project

  2. Pressione Ctrl+F5 para compilar e executar o programa sem depuração.

  3. Experimente o programa inserindo cadeias de caracteres e pressionando Enter. Depois pressione Enter para sair.

    Console window with ShowCase running

Recursos adicionais

Próximas etapas

Neste tutorial, você criou uma biblioteca de classes. No próximo tutorial, você aprenderá a fazer um teste de unidade na biblioteca de classes.

Ou você pode ignorar o teste de unidade automatizado e aprender a compartilhar a biblioteca criando um pacote NuGet:

Ou aprenda a publicar um aplicativo de console. Se você publicar o aplicativo de console por meio da solução criada neste tutorial, a biblioteca de classes o usará como um arquivo .dll.

Neste tutorial, você vai criar uma biblioteca de classes simples que contém um só método de manipulação de cadeia de caracteres.

Uma biblioteca de classes define tipos e métodos que são chamados por um aplicativo. Se a biblioteca for direcionada ao .NET Standard 2.0, ela poderá ser chamada por qualquer implementação do .NET (incluindo o .NET Framework) que dê suporte ao .NET Standard 2.0. Se a biblioteca for direcionada ao .NET 7, pode ser chamada por qualquer aplicativo direcionado ao .NET 7. Este tutorial mostra como fazer o direcionamento ao .NET 7.

Ao criar uma biblioteca de classes, você pode distribuí-la como um pacote NuGet ou como um componente no pacote com o aplicativo que a usa.

Pré-requisitos

Criar uma solução

Comece criando uma solução em branco para colocar o projeto de biblioteca de classes. Uma solução do Visual Studio serve como um contêiner para um ou mais projetos. Você adicionará projetos adicionais relacionados à mesma solução.

Para criar a solução em branco:

  1. Inicie o Visual Studio.

  2. Na tela Iniciar, selecione Criar um novo projeto.

  3. Na página Criar um projeto, insira solução na caixa de pesquisa. Selecione o modelo Solução em branco e clique em Avançar.

    Blank solution template in Visual Studio

  4. Na página Configurar o novo projeto, insira ClassLibraryProjects na caixa Nome da solução. Em seguida, escolha Criar.

Criar um projeto de biblioteca de classes

  1. Adicione um novo projeto de biblioteca de classes .NET chamado "StringLibrary" para a solução.

    1. Clique com o botão direito do mouse na solução em Gerenciador de Soluções e selecione Adicionar>Novo Projeto.

    2. Na página Adicionar um novo projeto, insira biblioteca na caixa de pesquisa. Escolha C# ou Visual Basic na lista Linguagem e depois Todas as plataformas na lista Plataforma. Escolha o modelo Biblioteca de Classes e escolha Avançar.

    3. Na página Configurar o novo projeto, insira StringLibrary na caixa Nome do projeto e clique em Avançar.

    4. Na página Informações adicionais, selecione .NET 7 (suporte Standard) e escolha Criar.

  2. Verifique se a biblioteca é direcionada à versão correta do .NET. Clique com o botão direito do mouse no projeto de biblioteca no Gerenciador de Soluções e selecione Propriedades. A caixa de texto Estrutura de Destino mostra que o projeto tem como destino o .NET 7.0.

  3. Se você estiver usando o Visual Basic, limpe o texto na caixa de texto do Namespace raiz.

    Project properties for the class library

    Para cada projeto, o Visual Basic cria automaticamente um namespace que corresponde ao nome do projeto. Neste tutorial, você define um namespace de nível superior usando a palavra-chave namespace no arquivo de código.

  4. Substitua o código na janela de código de Class1.cs or Class1.vb pelo mostrado no código a seguir e salve o arquivo. Se a linguagem que você quer usar não aparecer, altere o seletor de linguagem na parte superior da página.

    namespace UtilityLibraries;
    
    public static class StringLibrary
    {
        public static bool StartsWithUpper(this string? str)
        {
            if (string.IsNullOrWhiteSpace(str))
                return false;
    
            char ch = str[0];
            return char.IsUpper(ch);
        }
    }
    
    Imports System.Runtime.CompilerServices
    
    Namespace UtilityLibraries
        Public Module StringLibrary
            <Extension>
            Public Function StartsWithUpper(str As String) As Boolean
                If String.IsNullOrWhiteSpace(str) Then
                    Return False
                End If
    
                Dim ch As Char = str(0)
                Return Char.IsUpper(ch)
            End Function
        End Module
    End Namespace
    

    A biblioteca de classes UtilityLibraries.StringLibrary contém um método chamado StartsWithUpper. Esse método retorna um valor Boolean que indica se a instância atual da cadeia de caracteres começa com um caractere maiúsculo. O padrão Unicode distingue caracteres maiúsculos de caracteres minúsculos. O método Char.IsUpper(Char) retornará true se um caractere for maiúsculo.

    StartsWithUpper é implementado como um método de extensão para que você possa chamá-lo como se ele fosse um membro da classe String. O ponto de interrogação (?) depois de string no código C# indica que a cadeia de caracteres pode ser nula.

  5. Na barra de menus, selecione Criar>Criar Solução ou pressione Ctrl+Shift+B para verificar se o projeto é compilado sem erro.

Adicionar um aplicativo de console à solução

Adicione um aplicativo de console que usa a biblioteca de classes. O aplicativo solicitará que o usuário insira uma cadeia de caracteres e informe se a cadeia de caracteres começa com um caractere maiúsculo.

  1. Adicione um novo aplicativo de console .NET chamado "ShowCase" à solução.

    1. Clique com o botão direito do mouse na solução em Gerenciador de Soluções e selecione Adicionar>Novo projeto.

    2. Na página Adicionar um projeto, insira console na caixa de pesquisa. Escolha C# ou Visual Basic na lista Linguagem e depois Todas as plataformas na lista Plataforma.

    3. Escolha o modelo Aplicativo de Console e selecione Avançar.

    4. Na página Configurar o novo projeto, insira ShowCase na caixa Nome do projeto. Em seguida, escolha Avançar.

    5. Na página Informações adicionais, selecione .NET 7 (suporte de prazo standard) na caixa Estrutura. Em seguida, escolha Criar.

  2. Na janela de código do arquivo Program.cs ou Program.vb, substitua todo o código pelo código a seguir.

    using UtilityLibraries;
    
    class Program
    {
        static void Main(string[] args)
        {
            int row = 0;
    
            do
            {
                if (row == 0 || row >= 25)
                    ResetConsole();
    
                string? input = Console.ReadLine();
                if (string.IsNullOrEmpty(input)) break;
                Console.WriteLine($"Input: {input}");
                Console.WriteLine("Begins with uppercase? " +
                     $"{(input.StartsWithUpper() ? "Yes" : "No")}");
                Console.WriteLine();
                row += 4;
            } while (true);
            return;
    
            // Declare a ResetConsole local method
            void ResetConsole()
            {
                if (row > 0)
                {
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey();
                }
                Console.Clear();
                Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}");
                row = 3;
            }
        }
    }
    
    Imports UtilityLibraries
    
    Module Program
        Dim row As Integer = 0
    
        Sub Main()
            Do
                If row = 0 OrElse row >= 25 Then ResetConsole()
    
                Dim input As String = Console.ReadLine()
                If String.IsNullOrEmpty(input) Then Return
    
                Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " +
                                  $"{If(input.StartsWithUpper(), "Yes", "No")} {Environment.NewLine}")
                row += 3
            Loop While True
        End Sub
    
        Private Sub ResetConsole()
            If row > 0 Then
                Console.WriteLine("Press any key to continue...")
                Console.ReadKey()
            End If   
            Console.Clear()
            Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}")
            row = 3  
        End Sub
    End Module
    

    O código usa a variável row ​​para manter uma contagem do número de linhas de dados gravadas na janela do console. Sempre que ela for igual ou superior a 25, o código limpa a janela do console e exibe uma mensagem para o usuário.

    O programa solicita que o usuário insira uma cadeia de caracteres. Ele indica se a cadeia de caracteres começa com um caractere maiúsculo. Se o usuário pressionar a tecla Enter sem inserir uma cadeia de caracteres, o aplicativo será encerrado e a janela do console será fechada.

Adicionar uma referência ao projeto

Inicialmente, o novo projeto de aplicativo de console não tem acesso à biblioteca de classes. Para permitir que ele chame métodos na biblioteca de classes, crie uma referência de projeto para o projeto da biblioteca de classes.

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no nó Dependências do projeto ShowCase e selecione Adicionar Referência de Projeto.

    Add reference context menu in Visual Studio

  2. Na caixa de diálogo Gerenciador de Referências, selecione o projeto StringLibrary e clique no botão OK.

    Reference Manager dialog with StringLibrary selected

Executar o aplicativo

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto ShowCase e selecione Definir como Projeto de Inicialização no menu de contexto.

    Visual Studio project context menu to set startup project

  2. Pressione Ctrl+F5 para compilar e executar o programa sem depuração.

  3. Experimente o programa inserindo cadeias de caracteres e pressionando Enter. Depois pressione Enter para sair.

    Console window with ShowCase running

Recursos adicionais

Próximas etapas

Neste tutorial, você criou uma biblioteca de classes. No próximo tutorial, você aprenderá a fazer um teste de unidade na biblioteca de classes.

Ou você pode ignorar o teste de unidade automatizado e aprender a compartilhar a biblioteca criando um pacote NuGet:

Ou aprenda a publicar um aplicativo de console. Se você publicar o aplicativo de console por meio da solução criada neste tutorial, a biblioteca de classes o usará como um arquivo .dll.

Neste tutorial, você vai criar uma biblioteca de classes simples que contém um só método de manipulação de cadeia de caracteres.

Uma biblioteca de classes define tipos e métodos que são chamados por um aplicativo. Se a biblioteca for direcionada ao .NET Standard 2.0, ela poderá ser chamada por qualquer implementação do .NET (incluindo o .NET Framework) que dê suporte ao .NET Standard 2.0. Se a biblioteca for direcionada ao .NET 6, ela poderá ser chamada por qualquer aplicativo direcionado ao .NET 6. Este tutorial mostra como fazer o direcionamento ao .NET 6.

Ao criar uma biblioteca de classes, você pode distribuí-la como um pacote NuGet ou como um componente no pacote com o aplicativo que a usa.

Pré-requisitos

Criar uma solução

Comece criando uma solução em branco para colocar o projeto de biblioteca de classes. Uma solução do Visual Studio serve como um contêiner para um ou mais projetos. Você adicionará projetos adicionais relacionados à mesma solução.

Para criar a solução em branco:

  1. Inicie o Visual Studio.

  2. Na tela Iniciar, selecione Criar um novo projeto.

  3. Na página Criar um projeto, insira solução na caixa de pesquisa. Selecione o modelo Solução em branco e clique em Avançar.

    Blank solution template in Visual Studio

  4. Na página Configurar o novo projeto, insira ClassLibraryProjects na caixa Nome da solução. Em seguida, escolha Criar.

Criar um projeto de biblioteca de classes

  1. Adicione um novo projeto de biblioteca de classes .NET chamado "StringLibrary" para a solução.

    1. Clique com o botão direito do mouse na solução em Gerenciador de Soluções e selecione Adicionar>Novo Projeto.

    2. Na página Adicionar um novo projeto, insira biblioteca na caixa de pesquisa. Escolha C# ou Visual Basic na lista Linguagem e depois Todas as plataformas na lista Plataforma. Escolha o modelo Biblioteca de Classes e escolha Avançar.

    3. Na página Configurar o novo projeto, insira StringLibrary na caixa Nome do projeto e clique em Avançar.

    4. Na página Informações adicionais, selecione .NET 6 (suporte de longo prazo) e escolha Criar.

  2. Verifique se a biblioteca é direcionada à versão correta do .NET. Clique com o botão direito do mouse no projeto de biblioteca no Gerenciador de Soluções e selecione Propriedades. A caixa de texto Estrutura de Destino mostra que o projeto tem como destino o .NET 6.0.

  3. Se você estiver usando o Visual Basic, limpe o texto na caixa de texto do Namespace raiz.

    Project properties for the class library

    Para cada projeto, o Visual Basic cria automaticamente um namespace que corresponde ao nome do projeto. Neste tutorial, você define um namespace de nível superior usando a palavra-chave namespace no arquivo de código.

  4. Substitua o código na janela de código de Class1.cs or Class1.vb pelo mostrado no código a seguir e salve o arquivo. Se a linguagem que você quer usar não aparecer, altere o seletor de linguagem na parte superior da página.

    namespace UtilityLibraries;
    
    public static class StringLibrary
    {
        public static bool StartsWithUpper(this string? str)
        {
            if (string.IsNullOrWhiteSpace(str))
                return false;
    
            char ch = str[0];
            return char.IsUpper(ch);
        }
    }
    
    Imports System.Runtime.CompilerServices
    
    Namespace UtilityLibraries
        Public Module StringLibrary
            <Extension>
            Public Function StartsWithUpper(str As String) As Boolean
                If String.IsNullOrWhiteSpace(str) Then
                    Return False
                End If
    
                Dim ch As Char = str(0)
                Return Char.IsUpper(ch)
            End Function
        End Module
    End Namespace
    

    A biblioteca de classes UtilityLibraries.StringLibrary contém um método chamado StartsWithUpper. Esse método retorna um valor Boolean que indica se a instância atual da cadeia de caracteres começa com um caractere maiúsculo. O padrão Unicode distingue caracteres maiúsculos de caracteres minúsculos. O método Char.IsUpper(Char) retornará true se um caractere for maiúsculo.

    StartsWithUpper é implementado como um método de extensão para que você possa chamá-lo como se ele fosse um membro da classe String. O ponto de interrogação (?) depois de string no código C# indica que a cadeia de caracteres pode ser nula.

  5. Na barra de menus, selecione Criar>Criar Solução ou pressione Ctrl+Shift+B para verificar se o projeto é compilado sem erro.

Adicionar um aplicativo de console à solução

Adicione um aplicativo de console que usa a biblioteca de classes. O aplicativo solicitará que o usuário insira uma cadeia de caracteres e informe se a cadeia de caracteres começa com um caractere maiúsculo.

  1. Adicione um novo aplicativo de console .NET chamado "ShowCase" à solução.

    1. Clique com o botão direito do mouse na solução em Gerenciador de Soluções e selecione Adicionar>Novo projeto.

    2. Na página Adicionar um projeto, insira console na caixa de pesquisa. Escolha C# ou Visual Basic na lista Linguagem e depois Todas as plataformas na lista Plataforma.

    3. Escolha o modelo Aplicativo de Console e selecione Avançar.

    4. Na página Configurar o novo projeto, insira ShowCase na caixa Nome do projeto. Em seguida, escolha Avançar.

    5. Na página Informações adicionais, selecione .NET 6 (suporte de longo prazo) na caixa Estrutura. Em seguida, escolha Criar.

  2. Na janela de código do arquivo Program.cs ou Program.vb, substitua todo o código pelo código a seguir.

    using UtilityLibraries;
    
    class Program
    {
        static void Main(string[] args)
        {
            int row = 0;
    
            do
            {
                if (row == 0 || row >= 25)
                    ResetConsole();
    
                string? input = Console.ReadLine();
                if (string.IsNullOrEmpty(input)) break;
                Console.WriteLine($"Input: {input}");
                Console.WriteLine("Begins with uppercase? " +
                     $"{(input.StartsWithUpper() ? "Yes" : "No")}");
                Console.WriteLine();
                row += 4;
            } while (true);
            return;
    
            // Declare a ResetConsole local method
            void ResetConsole()
            {
                if (row > 0)
                {
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey();
                }
                Console.Clear();
                Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}");
                row = 3;
            }
        }
    }
    
    Imports UtilityLibraries
    
    Module Program
        Dim row As Integer = 0
    
        Sub Main()
            Do
                If row = 0 OrElse row >= 25 Then ResetConsole()
    
                Dim input As String = Console.ReadLine()
                If String.IsNullOrEmpty(input) Then Return
    
                Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " +
                                  $"{If(input.StartsWithUpper(), "Yes", "No")} {Environment.NewLine}")
                row += 3
            Loop While True
        End Sub
    
        Private Sub ResetConsole()
            If row > 0 Then
                Console.WriteLine("Press any key to continue...")
                Console.ReadKey()
            End If   
            Console.Clear()
            Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}")
            row = 3  
        End Sub
    End Module
    

    O código usa a variável row ​​para manter uma contagem do número de linhas de dados gravadas na janela do console. Sempre que ela for igual ou superior a 25, o código limpa a janela do console e exibe uma mensagem para o usuário.

    O programa solicita que o usuário insira uma cadeia de caracteres. Ele indica se a cadeia de caracteres começa com um caractere maiúsculo. Se o usuário pressionar a tecla Enter sem inserir uma cadeia de caracteres, o aplicativo será encerrado e a janela do console será fechada.

Adicionar uma referência ao projeto

Inicialmente, o novo projeto de aplicativo de console não tem acesso à biblioteca de classes. Para permitir que ele chame métodos na biblioteca de classes, crie uma referência de projeto para o projeto da biblioteca de classes.

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no nó Dependências do projeto ShowCase e selecione Adicionar Referência de Projeto.

    Add reference context menu in Visual Studio

  2. Na caixa de diálogo Gerenciador de Referências, selecione o projeto StringLibrary e clique no botão OK.

    Reference Manager dialog with StringLibrary selected

Executar o aplicativo

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto ShowCase e selecione Definir como Projeto de Inicialização no menu de contexto.

    Visual Studio project context menu to set startup project

  2. Pressione Ctrl+F5 para compilar e executar o programa sem depuração.

  3. Experimente o programa inserindo cadeias de caracteres e pressionando Enter. Depois pressione Enter para sair.

    Console window with ShowCase running

Recursos adicionais

Próximas etapas

Neste tutorial, você criou uma biblioteca de classes. No próximo tutorial, você aprenderá a fazer um teste de unidade na biblioteca de classes.

Ou você pode ignorar o teste de unidade automatizado e aprender a compartilhar a biblioteca criando um pacote NuGet:

Ou aprenda a publicar um aplicativo de console. Se você publicar o aplicativo de console por meio da solução criada neste tutorial, a biblioteca de classes o usará como um arquivo .dll.