Tooark.Enums
4.1.0
See the version list below for details.
dotnet add package Tooark.Enums --version 4.1.0
NuGet\Install-Package Tooark.Enums -Version 4.1.0
<PackageReference Include="Tooark.Enums" Version="4.1.0" />
<PackageVersion Include="Tooark.Enums" Version="4.1.0" />
<PackageReference Include="Tooark.Enums" />
paket add Tooark.Enums --version 4.1.0
#r "nuget: Tooark.Enums, 4.1.0"
#:package Tooark.Enums@4.1.0
#addin nuget:?package=Tooark.Enums&version=4.1.0
#tool nuget:?package=Tooark.Enums&version=4.1.0
Tooark.Enums
Biblioteca que fornece tipos enumerados validados, permitindo a padronização para projetos .NET. Inclui métodos para conversão e validação de valores enumerados.
Conteúdo
- Instalação
- Como funcionam
- ECloudProvider
- EDocumentType
- EFileType
- Exemplos de Uso
- Dependências
- Contribuição
- Licença
Instalação
dotnet add package Tooark.Enums
O pacote não tem configuração: os enumeradores são valores estáticos, usados diretamente.
Como funcionam
Os três tipos são classes com instâncias estáticas, e não enum do C#. Isso permite que cada valor carregue
mais do que um número — descrição, padrão de formato, função de validação — ao custo de não poderem ser usados
como argumento de atributo, que exige constante.
Todos expõem o mesmo conjunto de operações:
| Operação | Comportamento |
|---|---|
ToString() |
Devolve a descrição |
ToInt() |
Devolve o id |
(int) implícito |
Mesmo que ToInt() |
(string) implícito |
Mesmo que ToString() |
int → enum implícito |
Resolve pelo id |
string → enum implícito |
Resolve pela descrição, sem diferenciar caixa nem espaços nas pontas |
Duas regras valem para os três:
- A descrição é normalizada.
"aws","AWS"e" Aws "resolvem para o mesmo valor. - Id ou descrição não reconhecidos resolvem para o valor neutro —
NoneemECloudProvidereEDocumentType,UnknownemEFileType—, que é o membro previsto para isso. Já converter uma instância nula paraintoustringlançaInternalServerErrorExceptioncomInvalid.Parameter;null: não existe id nem descrição correta para devolver, e devolver zero seria inventar um dado.
Enumeradores
1. Provedor de Cloud
Funcionalidade: representa os provedores de cloud suportados.
| Valor | Id | Descrição | Também aceita |
|---|---|---|---|
None |
0 | None |
— |
Amazon |
1 | AWS |
Amazon |
Google |
2 | GCP |
Google |
Microsoft |
3 | Azure |
Microsoft |
2. Tipo de Documento
Funcionalidade: representa os tipos de documento, cada um com o próprio formato e verificação.
| Valor | Id | Verificação |
|---|---|---|
None |
0 | Aceita qualquer documento |
CPF |
1 | Formato e dígitos verificadores |
RG |
2 | Formato e dígito verificador, quando informado |
CNH |
3 | Formato e dígitos verificadores |
CNPJ |
4 | Formato e dígitos verificadores, aceita CNPJ alfanumérico |
CPF_CNPJ |
5 | CPF ou CNPJ, ambos com dígitos |
CPF_RG |
6 | CPF ou RG |
CPF_RG_CNH |
7 | CPF, RG ou CNH |
Métodos próprios:
ToRegex(): devolve o padrão de formato do tipo de documento.IsValid: função que verifica os dígitos verificadores, aceitando o valor com ou sem máscara.
As duas verificações são camadas distintas e se complementam:
ToRegex()cuida da forma eIsValidcuida do conteúdo. Uma validação completa aplica as duas, como fazem o value objectDocumentdoTooark.ValueObjectse oDocumentValidationAttributedoTooark.Attributes. Chamada isolada,IsValidaceita529.982.247-25e52998224725igualmente, e nunca lança para entrada inválida — devolvefalse.
O cálculo dos dígitos vem de DocumentDigit, no Tooark.Validations, o mesmo usado pelas validações daquele
pacote — então new Validation().IsCpf(...) e EDocumentType.CPF.IsValid(...) sempre concordam.
3. Tipo de Arquivo
Funcionalidade: representa as categorias de arquivo.
| Valor | Id | Descrição |
|---|---|---|
Unknown |
0 | Unknown |
Document |
1 | Document |
Image |
2 | Image |
Video |
3 | Video |
Audio |
4 | Audio |
Exemplos de Uso
Provedor de Cloud
using Tooark.Enums;
ECloudProvider provider = ECloudProvider.Amazon;
Console.WriteLine(provider.ToString()); // AWS
Console.WriteLine(provider.ToInt()); // 1
// Conversões implícitas, úteis para persistir e ler de volta
int id = provider; // 1
string description = provider; // "AWS"
// A descrição não diferencia caixa
ECloudProvider daConfiguracao = "aws"; // Amazon
ECloudProvider doBanco = 1; // Amazon
Tipo de Documento
using Tooark.Enums;
EDocumentType docType = EDocumentType.CPF;
Console.WriteLine(docType.ToString()); // CPF
Console.WriteLine(docType.ToInt()); // 1
Console.WriteLine(docType.ToRegex()); // ^\d{3}\.\d{3}\.\d{3}-\d{2}$
// IsValid confere os dígitos, com ou sem máscara
Console.WriteLine(docType.IsValid("529.982.247-25")); // True
Console.WriteLine(docType.IsValid("52998224725")); // True
Console.WriteLine(docType.IsValid("529.982.247-24")); // False
Validação completa, aplicando formato e dígitos:
using System.Text.RegularExpressions;
using Tooark.Enums;
bool EhValido(string documento, EDocumentType tipo) =>
Regex.IsMatch(documento, tipo.ToRegex()) && tipo.IsValid(documento);
Tipo de Arquivo
using Tooark.Enums;
EFileType fileType = EFileType.Image;
Console.WriteLine(fileType.ToString()); // Image
Console.WriteLine(fileType.ToInt()); // 2
// Valor não reconhecido resolve para Unknown
EFileType desconhecido = "planilha"; // Unknown
Dependências
| Dependência | Versão | Uso |
|---|---|---|
Tooark.Validations |
4.x | DocumentDigit e os padrões de formato |
Tooark.Exceptions |
4.x | Erro de conversão de instância nula |
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests no repositório Tooark.Enums.
Licença
Este projeto está licenciado sob a licença BSD 3-Clause. Veja o arquivo LICENSE para mais detalhes.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Tooark.Exceptions (>= 4.1.0)
- Tooark.Validations (>= 4.1.0)
-
net8.0
- Tooark.Exceptions (>= 4.1.0)
- Tooark.Validations (>= 4.1.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Tooark.Enums:
| Package | Downloads |
|---|---|
|
Tooark.ValueObjects
Package for managing predefined and validated Value Objects for .NET applications. |
|
|
Tooark.Entities
Package for managing base entities in .NET applications. |
|
|
Tooark.Attributes
Package for creating attribute validators for .NET applications. |
|
|
Tooark
Package with all Tooark resources for .NET applications. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.7.1 | 81 | 10/17/2026 |
| 4.7.0 | 365 | 9/30/2026 |
| 4.6.0 | 185 | 9/29/2026 |
| 4.5.0 | 151 | 9/29/2026 |
| 4.4.0 | 149 | 9/28/2026 |
| 4.3.0 | 162 | 9/26/2026 |
| 4.2.1 | 160 | 9/25/2026 |
| 4.2.0 | 170 | 9/20/2026 |
| 4.1.0 | 167 | 9/18/2026 |
| 4.0.1 | 232 | 8/25/2026 |
| 4.0.0 | 181 | 8/25/2026 |
| 3.3.6 | 154 | 9/18/2026 |
| 3.3.5 | 169 | 8/25/2026 |
| 3.3.4 | 350 | 8/12/2026 |
| 3.3.3 | 426 | 7/27/2026 |
| 3.3.2 | 374 | 6/11/2026 |
| 3.3.1 | 214 | 6/6/2026 |
| 2.3.5 | 147 | 9/18/2026 |
| 2.3.4 | 180 | 8/25/2026 |
| 2.3.3 | 187 | 7/27/2026 |