📊 Descripción General
La clase IniFile es una implementación robusta para leer y manejar archivos de configuración INI. Esta clase proporciona funcionalidades para cargar archivos, acceder a secciones y claves, y soporta diferentes encodings de archivo.
🎯 Propósito de la Clase
- Lectura de Configuración: Carga y parseo de archivos INI
- Acceso a Datos: Acceso seguro a secciones y claves
- Encoding Support: Soporte para diferentes encodings
- Async Operations: Operaciones asíncronas para archivos
- Thread Safety: Operaciones seguras en entornos multi-hilo
💡 Ejemplos de Uso
📄 Archivo INI de Ejemplo
[Database]
Server=localhost
Database=RestMaster
UserID=admin
Password=secret123
[Application]
Name=RestMaster
Version=1.0.0
DebugMode=true
[Email]
SmtpServer=smtp.gmail.com
Port=587
UseSSL=true
🔧 Código de Ejemplo
// Cargar archivo INI
var iniFile = new IniFile("config.ini");
// Acceder a valores
string server = iniFile["Database", "Server"];
string database = iniFile["Database", "Database"];
string user = iniFile["Database", "UserID"];
// Usar valor por defecto
string port = iniFile["Email", "Port", "587"];
// Obtener todas las secciones
string[] sections = iniFile.Sections;
// Obtener todas las claves de una sección
string[] keys = iniFile.GetKeys("Database");
// Carga asíncrona
await iniFile.LoadFileAsync("config.ini", Encoding.UTF8);