.NET Core - Criar Biblioteca .NET Standard

Uma biblioteca de classes define os tipos e métodos que podem ser chamados de qualquer aplicativo.

  • Uma biblioteca de classes desenvolvida com o .NET Core oferece suporte à Biblioteca .NET Standard, que permite que sua biblioteca seja chamada por qualquer plataforma .NET que ofereça suporte a essa versão da Biblioteca .NET Standard.

  • Quando terminar sua biblioteca de classes, você pode decidir se deseja distribuí-la como um componente de terceiros ou se deseja incluí-la como um componente que vem junto com um ou mais aplicativos.

Vamos começar adicionando um projeto de biblioteca de classes em nosso aplicativo de console; clique com o botão direito nosrc pasta no Solution Explorer e selecione Add → New Project…

No Add New Project caixa de diálogo, escolha o nó .NET Core e escolha o modelo de projeto Class Library (.NET Core).

Na caixa de texto Nome, digite "UtilityLibrary" como o nome do projeto, como mostra a figura a seguir.

Clique em OK para criar o projeto de biblioteca de classes. Assim que o projeto for criado, vamos adicionar uma nova classe. Clique com o botão direito emproject no Solution Explorer e selecione Add → Class...

Selecione a classe no painel do meio e insira StringLib.cs no nome e campo e clique em Add. Depois que a classe for adicionada, substitua o código a seguir no arquivo StringLib.cs.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks; 
  
namespace UtilityLibrary { 
   public static class StringLib { 
      public static bool StartsWithUpper(this String str) { 
         if (String.IsNullOrWhiteSpace(str)) 
         return false; 
         Char ch = str[0]; 
         return Char.IsUpper(ch); 
      } 
      public static bool StartsWithLower(this String str) { 
         if (String.IsNullOrWhiteSpace(str)) 
         return false; 
         Char ch = str[0]; 
         return Char.IsLower(ch); 
      } 
      public static bool StartsWithNumber(this String str) { 
         if (String.IsNullOrWhiteSpace(str)) 
         return false;  
         Char ch = str[0]; 
         return Char.IsNumber(ch); 
      } 
   } 
}
  • A biblioteca da classe, UtilityLibrary.StringLib, contém alguns métodos como, StartsWithUpper, StartsWithLowere StartsWithNumber que retorna um valor booleano que indica se a instância da string atual começa com maiúscula, minúscula e número, respectivamente.

  • No .NET Core, o Char.IsUpper o método retorna true se um caractere estiver em maiúsculas, o método Char.IsLower retorna true se um caractere estiver em minúsculas, e da mesma forma o método Char.IsNumber retorna true se um caractere for numérico.

  • Na barra de menus, escolha Build, Build Solution. O projeto deve ser compilado sem erros.

  • Nosso projeto de console do .NET Core não tem acesso à nossa biblioteca de classes.

  • Agora, para consumir essa biblioteca de classes, precisamos adicionar referência a essa biblioteca de classes em nosso projeto de console.

Para fazer isso, expanda FirstApp e clique com o botão direito em References e selecione Add Reference…

Na caixa de diálogo Reference Manager, selecione UtilityLibrary, nosso projeto de biblioteca de classes e clique em OK.

Vamos agora abrir o arquivo Program.cs do projeto do console e substituir todo o código pelo código a seguir.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks; 
using UtilityLibrary; 

namespace FirstApp { 
   public class Program { 
      public static void Main(string[] args) { 
         int rows = Console.WindowHeight; 
         Console.Clear(); 
         do { 
            if (Console.CursorTop >= rows || Console.CursorTop == 0) { 
               Console.Clear(); 
               Console.WriteLine("\nPress <Enter> only to exit; otherwise, enter a string and press <Enter>:\n"); 
            } 
            string input = Console.ReadLine(); 
            
            if (String.IsNullOrEmpty(input)) break; 
            Console.WriteLine("Input: {0} {1,30}: {2}\n", input, "Begins with uppercase? ", 
            input.StartsWithUpper() ? "Yes" : "No"); 
         } while (true); 
      } 
   } 
}

Vamos agora executar seu aplicativo e você verá a seguinte saída.

Para melhor compreensão, vamos usar os outros métodos de extensão de sua biblioteca de classes em seu projeto.