UnitParser código (.NET/C#)

Código fuente abierto de UnitParser
Equivalentemente a lo que ocurre con todas las otras partes de FlexibleParser, escribí todo el código C# (.NET 4.0) de UnitParser completamente de cero. Su versión más reciente puede encontrarse en varios sitios:El código de UnitParser puede dividirse en las siguientes partes principales:
  • Instantiación
    . Una de las características definitorias de UnitParser es el hecho de usar la misma clase (UnitP) para todos los tipos de unidades. Semejante configuración únicamente es posible gracias a un conjunto de campos readonly, que tienen que ser definidos al instanciar la variable.
    Todo lo relacionado con la instantiación de la clase UnitP está dentro de los archivos en la carpeta Contructors.
    Para saber más acerca de esta parte del código, echa un vistazo a la sección correspondiente en varocarbas.com (en inglés).
  • "
    Hardcoding
    ". La información hardcodeada es una parte importante de cualquier sistema que gestione unidades de medida. UnitParser contiene gran cantidad de información hardcodeada, completamente actualizada y de la máxima calidad. Ejemplos: factores de conversión, clasificaciones, definiciones de compuestos, etc.
    La mayor parte de la información hardcodeada de UnitParser está almacenada en diferentes archivos incluidos dentro de la carpeta Keywords.
    Para saber más acerca de esta parte del código, echa un vistazo a la sección correspondiente en varocarbas.com (en inglés).
  • Parseado de unidades
    . Parsear de manera fiable una amplia variedad de información sobre unidades es precisamente la característica más distintiva de UnitParser. Parsear unidades no sólo incluye reconocer unidades individuales, sino también compuestos y lo que ello implica (por ejemplo, extracción y simplificación de sus partes constitutivas).
    Toda la parte que gestiona el parseo de unidades se almacena en la carpeta Parse.
    Para saber más acerca de esta parte del código, echa un vistazo a la sección correspondiente en varocarbas.com (en inglés).
  • Conversiones de unidades
    . Las funcionalidades de conversión de UnitParser también son muy potentes. Además de las típicas conversiones entre unidades individuales, lleva a cabo conversiones automáticas cuando es necesario y también acepta conversiones entre compuestos aleatorios (cualquier conjunto de unidades soportadas que forme un tipo soportado).
    Las implementaciones relacionadas con conversiones de unidades se guardan en Operations_Private_Conversions.cs.
    Para saber más acerca de esta parte del código, echa un vistazo a la sección correspondiente en varocarbas.com (en inglés).
  • Cálculos gestionados
    . UnitParser también se caracteriza por su importante soporte numérico. Los cálculos gestionados se refieren a todo el código que permite a UnitParser llevar a cabo operaciones aritméticas entre dos variables/números cualesquiera.
    Todos los cálculos gestionados se incluyen en Operations_Private_Managed.cs.
    Para saber más acerca de esta parte del código, echa un vistazo a la sección correspondiente en varocarbas.com (en inglés).