Compartilhar via


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

Neste tutorial, você criará uma biblioteca de classes simples que contém um único método de tratamento 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 8, ela poderá ser chamada por qualquer aplicativo direcionado ao .NET 8. Este tutorial mostra como direcionar o .NET 8.

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

Pré-requisitos

Criar uma solução

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

Para criar a solução em branco:

  1. Inicie o Visual Studio.

  2. Na janela inicial, escolha Criar um novo projeto.

  3. Na página Criar um novo projeto , insira a solução na caixa de pesquisa. Escolha o modelo de solução em branco e, em seguida, escolha Avançar.

    Modelo de solução em branco no Visual Studio

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

Criar um projeto de biblioteca de classes

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

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

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

    3. Na página Configurar seu novo projeto , insira StringLibrary na caixa de nome do Projeto e, em seguida, escolha Avançar.

    4. Na página Informações adicionais , selecione .NET 8 e, em seguida, escolha Criar.

  2. Verifique se a biblioteca tem como destino a 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 8.0.

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

    Propriedades do projeto para a biblioteca de classes

    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 namespace palavra-chave no arquivo de código.

  4. Substitua o código na janela de código para Class1.cs ou Class1.vb pelo código a seguir e salve o arquivo. Se o idioma que você deseja usar não for mostrado, altere o seletor de idioma 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;
    
            return char.IsUpper(str[0]);
        }
    }
    
    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 contém UtilityLibraries.StringLibraryum método chamado StartsWithUpper. Esse método retorna um Boolean valor que indica se a instância de cadeia de caracteres atual começa com um caractere maiúsculo. O padrão Unicode distingue caracteres maiúsculos de caracteres minúsculos. O Char.IsUpper(Char) método retornará true se um caractere estiver em letras maiúsculas.

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

  5. Na barra de menus, selecione Compilar>Compilar Solução ou pressione Ctrl+Shift+B para verificar se o projeto compila sem erros.

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 relate se a cadeia de caracteres começa com um caractere maiúsculo.

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

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

    2. Na página Adicionar um novo projeto , insira o console na caixa de pesquisa. Escolha C# ou Visual Basic na lista De idiomas e escolha Todas as plataformas na lista plataforma.

    3. Escolha o modelo de Aplicativo de Console e, em seguida, escolha Avançar.

    4. Na página Configurar seu novo projeto , insira ShowCase na caixa de nome do Projeto . Em seguida, escolha Avançar.

    5. Na página Informações adicionais , selecione .NET 8 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 System;
    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} {"Begins with uppercase? ",30}: " +
                                  $"{(input.StartsWithUpper() ? "Yes" : "No")}{Environment.NewLine}");
                row += 3;
            } 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 row variável para manter uma contagem do número de linhas de dados gravadas na janela do console. Sempre que for maior ou igual 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. 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 terminará e a janela do console será fechada.

Adicionar uma referência de 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 de biblioteca de classes.

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

    Adicionar menu de contexto de referência no Visual Studio

  2. Na caixa de diálogo Gerenciador de Referência , selecione o projeto StringLibrary e selecione OK.

    Caixa de diálogo Gerenciador de Referências com Biblioteca de Strings selecionada

Executar o aplicativo

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

    Menu de contexto do projeto do Visual Studio para definir o projeto de inicialização

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

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

    Janela do console com ShowCase em execução

Recursos adicionais

Próximas etapas

Neste tutorial, você criou uma biblioteca de classes. No próximo tutorial, você aprenderá a testar a biblioteca de classes por unidade.

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

Ou saiba como publicar um aplicativo de console. Se você publicar o aplicativo de console da solução que criou neste tutorial, a biblioteca de classes o usará como um arquivo .dll .