예제 #1
0
        /// <summary>
        /// Initializes the unit system with defaults.
        /// </summary>
        /// <param name="unitSystemDependencyFactory">The unit system dependency factory.</param>
        /// <param name="registerUnitAction">The register unit action.</param>
        /// <returns>A <see cref="UnitSystemDependencies"/>.</returns>
        public UnitSystemDependencies InitializeUnitSystemWithDefaults(
            IUnitSystemDependencyFactory unitSystemDependencyFactory = null,
            Action <IUnitRegistrar> registerUnitAction = null)
        {
            return(this.InitializeUnitSystem(
                       unitSystemDependencyFactory,
                       unitRegistrar =>
            {
                foreach (var unit in UnitDefinitions.GetDefaultPrefixes())
                {
                    unitRegistrar.Register(unit);
                }

                foreach (var unit in UnitDefinitions.GetDefaultUnits())
                {
                    unitRegistrar.Register(unit);
                }

                foreach (var derivedUnit in UnitDefinitions.GetDefaultDerivedUnit())
                {
                    unitRegistrar.Register(derivedUnit);
                }

                registerUnitAction?.Invoke(unitRegistrar);
            }));
        }
예제 #2
0
 public UnitRegistry()
 {
     this.prefixes = UnitDefinitions.GetDefaultPrefixes().ToDictionary(x => x.Notation, x => x);
     this.units    = UnitDefinitions.GetDefaultUnits().ToDictionary(x => x.ToString(), x => x);
 }