English | Português | Español | Français | Deutsch
A useful set of extensions for .NET native types, targeting netstandard2.1. Oriented toward Brazilian/Portuguese localization.
dotnet add package Rochas.Extensions
Serialization
FromJson<T>()— Deserializes a JSON string into an objectFromXML<T>()— Deserializes an XML string into an objectFromBase64String()— Decodes a Base64 string to a byte arrayToByteArray()— Converts a string to a byte array
Text Processing
FilterSpecialChars()— Removes accents and diacritics (e.g., "ção" → "cao")RemoveTextConnectives()— Removes Portuguese stop words (prepositions, conjunctions)Tokenize()— Splits a string into normalized tokensToNormalizedDescription()— Produces a clean, normalized text representationHasNumber()— Checks if the string contains numeric digitsGetCustomHashCode()— Generates a hash using the FNV-1a algorithm
Runtime Code Execution
ExecuteAsSourceCode()— Compiles and executes C# code at runtime via Roslyn scripting, with timeout and cancellation support
Brazilian Tax ID Validation
IsCPFOrCNPJ()— Validates CPF (11-digit) and CNPJ (14-digit) tax IDs with check-digit verification
Data Compression
Zip()/UnZip()— GZip compression and decompression
ToNewString()— Converts a byte array to a UTF-8 stringToNewBase64String()— Encodes a byte array to a Base64 stringToNewHexString()— Converts a byte array to a hexadecimal string
ToCultureString()— Formats the decimal using culture-aware rulesToInFullText()— Converts a monetary value to Brazilian currency text (e.g., "R$ 1.250,00" → "um mil duzentos e cinquenta reais")
ToInt()— Rounds the double value to the nearest integer
ToPhoneNumber()— Formats a long as a Brazilian phone number (supports 8 and 9-digit DDD+number)
IsNumeric()— Checks whether the object represents a numeric valueIsMonetaryValue()— Checks whether the object represents a monetary valueToJson()— Serializes the object to a JSON stringToXML()— Serializes the object to an XML stringDumpToJson()— Serializes the object to a formatted (pretty-printed) JSON stringDumpToXML()— Serializes the object to a formatted XML stringClone<T>()— Creates a deep clone of the object via JSON serializationToHttpContent()— Wraps the object asStringContentfor HTTP requestsGetDiff()— Computes the differences between two objects
GetResume()— Extracts anExceptionResumevalue object containing a summary of the exception
netstandard2.1
- 105 unit tests (xUnit) covering all extension methods
- Test project:
Rochas.Extensions.Tests(net9.0)
GPL v2 — see LICENSE.
Um conjunto útil de extensões para tipos nativos do .NET, direcionado ao netstandard2.1. Orientado à localização brasileira/portuguesa.
dotnet add package Rochas.Extensions
Serialização
FromJson<T>()— Deserializa uma string JSON em um objetoFromXML<T>()— Deserializa uma string XML em um objetoFromBase64String()— Decodifica uma string Base64 em um array de bytesToByteArray()— Converte uma string em um array de bytes
Processamento de Texto
FilterSpecialChars()— Remove acentos e diacríticos (ex.: "ção" → "cao")RemoveTextConnectives()— Remove conectivos/palavras de parada do portuguêsTokenize()— Divide a string em tokens normalizadosToNormalizedDescription()— Gera uma representação de texto limpa e normalizadaHasNumber()— Verifica se a string contém dígitos numéricosGetCustomHashCode()— Gera um hash usando o algoritmo FNV-1a
Execução de Código em Runtime
ExecuteAsSourceCode()— Compila e executa código C# em tempo de execução via Roslyn scripting, com suporte a timeout e cancelamento
Validação de Documentos Fiscais Brasileiros
IsCPFOrCNPJ()— Valida CPF (11 dígitos) e CNPJ (14 dígitos) com verificação de dígitos verificadores
Compressão de Dados
Zip()/UnZip()— Compressão e descompressão GZip
ToNewString()— Converte um array de bytes em uma string UTF-8ToNewBase64String()— Codifica um array de bytes em uma string Base64ToNewHexString()— Converte um array de bytes em uma string hexadecimal
ToCultureString()— Formata o decimal usando regras de localidadeToInFullText()— Converte um valor monetário em texto de moeda brasileira (ex.: "R$ 1.250,00" → "um mil duzentos e cinquenta reais")
ToInt()— Arredonda o valor double para o inteiro mais próximo
ToPhoneNumber()— Formata um long como telefone brasileiro (suporta DDD+numero com 8 e 9 dígitos)
IsNumeric()— Verifica se o objeto representa um valor numéricoIsMonetaryValue()— Verifica se o objeto representa um valor monetárioToJson()— Serializa o objeto em uma string JSONToXML()— Serializa o objeto em uma string XMLDumpToJson()— Serializa o objeto em JSON formatado (pretty-print)DumpToXML()— Serializa o objeto em XML formatadoClone<T>()— Cria um clone profundo do objeto via serialização JSONToHttpContent()— Embala o objeto comoStringContentpara requisições HTTPGetDiff()— Calcula as diferenças entre dois objetos
GetResume()— Extrai um value objectExceptionResumecontendo um resumo da exceção
netstandard2.1
- 105 testes unitários (xUnit) cobrindo todos os métodos de extensão
- Projeto de testes:
Rochas.Extensions.Tests(net9.0)
GPL v2 — veja LICENSE.
Un conjunto útil de extensiones para tipos nativos de .NET, dirigido a netstandard2.1. Orientado a la localización brasileña/portuguesa.
dotnet add package Rochas.Extensions
Serialización
FromJson<T>()— Deserializa una cadena JSON en un objetoFromXML<T>()— Deserializa una cadena XML en un objetoFromBase64String()— Decodifica una cadena Base64 en un arreglo de bytesToByteArray()— Convierte una cadena en un arreglo de bytes
Procesamiento de Texto
FilterSpecialChars()— Elimina acentos y diacríticos (ej.: "ção" → "cao")RemoveTextConnectives()— Elimina conectivos/palabras de parada en portuguésTokenize()— Divide la cadena en tokens normalizadosToNormalizedDescription()— Genera una representación de texto limpia y normalizadaHasNumber()— Verifica si la cadena contiene dígitos numéricosGetCustomHashCode()— Genera un hash usando el algoritmo FNV-1a
Ejecución de Código en Runtime
ExecuteAsSourceCode()— Compila y ejecuta código C# en tiempo de ejecución mediante Roslyn scripting, con soporte para timeout y cancelación
Validación de Documentos Fiscales Brasileños
IsCPFOrCNPJ()— Valida CPF (11 dígitos) y CNPJ (14 dígitos) con verificación de dígitos de control
Compresión de Datos
Zip()/UnZip()— Compresión y descompresión GZip
ToNewString()— Convierte un arreglo de bytes en una cadena UTF-8ToNewBase64String()— Codifica un arreglo de bytes en una cadena Base64ToNewHexString()— Convierte un arreglo de bytes en una cadena hexadecimal
ToCultureString()— Formatea el decimal usando reglas de configuración regionalToInFullText()— Convierte un valor monetario en texto de moneda brasileña (ej.: "R$ 1.250,00" → "um mil duzentos e cinquenta reais")
ToInt()— Redondea el valor double al entero más cercano
ToPhoneNumber()— Formatea un long como teléfono brasileño (soporta DDD+número con 8 y 9 dígitos)
IsNumeric()— Verifica si el objeto representa un valor numéricoIsMonetaryValue()— Verifica si el objeto representa un valor monetarioToJson()— Serializa el objeto en una cadena JSONToXML()— Serializa el objeto en una cadena XMLDumpToJson()— Serializa el objeto en JSON formateado (pretty-print)DumpToXML()— Serializa el objeto en XML formateadoClone<T>()— Crea un clon profundo del objeto mediante serialización JSONToHttpContent()— Empaqueta el objeto comoStringContentpara solicitudes HTTPGetDiff()— Calcula las diferencias entre dos objetos
GetResume()— Extrae un value objectExceptionResumeque contiene un resumen de la excepción
netstandard2.1
- 105 pruebas unitarias (xUnit) cubriendo todos los métodos de extensión
- Proyecto de pruebas:
Rochas.Extensions.Tests(net9.0)
GPL v2 — véase LICENSE.
Un ensemble utile d'extensions pour les types natifs de .NET, ciblant le netstandard2.1. Orienté vers la localisation brésilienne/portugaise.
dotnet add package Rochas.Extensions
Sérialisation
FromJson<T>()— Désérialise une chaîne JSON en un objetFromXML<T>()— Désérialise une chaîne XML en un objetFromBase64String()— Décode une chaîne Base64 en un tableau d'octetsToByteArray()— Convertit une chaîne en un tableau d'octets
Traitement de Texte
FilterSpecialChars()— Supprime les accents et diacritiques (ex. : "ção" → "cao")RemoveTextConnectives()— Supprime les mots de liaison/stop en portugaisTokenize()— Découpe la chaîne en tokens normalisésToNormalizedDescription()— Génère une représentation de texte propre et normaliséeHasNumber()— Vérifie si la chaîne contient des chiffres numériquesGetCustomHashCode()— Génère un hash en utilisant l'algorithme FNV-1a
Exécution de Code à l'Exécution
ExecuteAsSourceCode()— Compile et exécute du code C# au moment de l'exécution via Roslyn scripting, avec support du timeout et de l'annulation
Validation de Documents Fiscaux Brésiliens
IsCPFOrCNPJ()— Valide les CPF (11 chiffres) et CNPJ (14 chiffres) avec vérification des chiffres de contrôle
Compression de Données
Zip()/UnZip()— Compression et décompression GZip
ToNewString()— Convertit un tableau d'octets en une chaîne UTF-8ToNewBase64String()— Encode un tableau d'octets en une chaîne Base64ToNewHexString()— Convertit un tableau d'octets en une chaîne hexadécimale
ToCultureString()— Formate le decimal en utilisant les règles de cultureToInFullText()— Convertit une valeur monétaire en texte de monnaie brésilienne (ex. : "R$ 1.250,00" → "um mil duzentos e cinquenta reais")
ToInt()— Arrondit la valeur double à l'entier le plus proche
ToPhoneNumber()— Formate un long en numéro de téléphone brésilien (supporte DDD+numéro à 8 et 9 chiffres)
IsNumeric()— Vérifie si l'objet représente une valeur numériqueIsMonetaryValue()— Vérifie si l'objet représente une valeur monétaireToJson()— Sérialise l'objet en une chaîne JSONToXML()— Sérialise l'objet en une chaîne XMLDumpToJson()— Sérialise l'objet en JSON formaté (pretty-print)DumpToXML()— Sérialise l'objet en XML formatéClone<T>()— Crée un clone profond de l'objet via sérialisation JSONToHttpContent()— Emballe l'objet commeStringContentpour les requêtes HTTPGetDiff()— Calcule les différences entre deux objets
GetResume()— Extrait un value objectExceptionResumecontenant un résumé de l'exception
netstandard2.1
- 105 tests unitaires (xUnit) couvrant toutes les méthodes d'extension
- Projet de test :
Rochas.Extensions.Tests(net9.0)
GPL v2 — voir LICENSE.
Eine nützliche Sammlung von Erweiterungen für .NET-native Typen, die auf netstandard2.1 abzielt. Ausgerichtet auf die brasilianische/portugiesische Lokalisierung.
dotnet add package Rochas.Extensions
Serialisierung
FromJson<T>()— Deserialisiert einen JSON-String in ein ObjektFromXML<T>()— Deserialisiert einen XML-String in ein ObjektFromBase64String()— Dekodiert einen Base64-String in ein Byte-ArrayToByteArray()— Konvertiert einen String in ein Byte-Array
Textverarbeitung
FilterSpecialChars()— Entfernt Akzente und Diakritika (z.B. "ção" → "cao")RemoveTextConnectives()— Entfernt portugiesische Funktionswörter/StopwörterTokenize()— Teilt den String in normalisierte TokensToNormalizedDescription()— Erzeugt eine saubere, normalisierte TextdarstellungHasNumber()— Prüft, ob der String numerische Ziffern enthältGetCustomHashCode()— Erzeugt einen Hash mit dem FNV-1a-Algorithmus
Laufzeit-Codeausführung
ExecuteAsSourceCode()— Kompiliert und führt C#-Code zur Laufzeit über Roslyn Scripting aus, mit Timeout- und Abbruchunterstützung
Validierung Brasilianischer Steuer-IDs
IsCPFOrCNPJ()— Validiert CPF (11-stellig) und CNPJ (14-stellig) mit Prüfziffernverifizierung
Datenkompression
Zip()/UnZip()— GZip-Kompression und -Dekompression
ToNewString()— Konvertiert ein Byte-Array in einen UTF-8-StringToNewBase64String()— Kodiert ein Byte-Array in einen Base64-StringToNewHexString()— Konvertiert ein Byte-Array in einen Hexadezimal-String
ToCultureString()— Formatiert den Decimal mit kulturspezifischen RegelnToInFullText()— Konvertiert einen Geldwert in brasilianischen Währungstext (z.B. "R$ 1.250,00" → "um mil duzentos e cinquenta reais")
ToInt()— Rundet den Double-Wert auf die nächste Ganzzahl
ToPhoneNumber()— Formatiert einen Long als brasilianische Telefonnummer (unterstützt Vorwahl+Nummer mit 8 und 9 Ziffern)
IsNumeric()— Prüft, ob das Objekt einen numerischen Wert darstelltIsMonetaryValue()— Prüft, ob das Objekt einen Geldwert darstelltToJson()— Serialisiert das Objekt als JSON-StringToXML()— Serialisiert das Objekt als XML-StringDumpToJson()— Serialisiert das Objekt als formatierten JSON-String (Pretty-Print)DumpToXML()— Serialisiert das Objekt als formatierten XML-StringClone<T>()— Erstellt einen Tiefen-Klon des Objekts über JSON-SerialisierungToHttpContent()— Verpackt das Objekt alsStringContentfür HTTP-AnfragenGetDiff()— Berechnet die Unterschiede zwischen zwei Objekten
GetResume()— Extrahiert ein Value-ObjectExceptionResumemit einer Zusammenfassung der Exception
netstandard2.1
- 105 Unit-Tests (xUnit), die alle Erweiterungsmethoden abdecken
- Testprojekt:
Rochas.Extensions.Tests(net9.0)
GPL v2 — siehe LICENSE.