System.Xml.Schema.FacetsChecker.FacetsCompiler.CompileFractionDigitsFacet C# (CSharp) Метод

CompileFractionDigitsFacet() приватный Метод

private CompileFractionDigitsFacet ( XmlSchemaFacet facet ) : void
facet XmlSchemaFacet
Результат void
        internal void CompileFractionDigitsFacet(XmlSchemaFacet facet) {
            CheckProhibitedFlag(facet, RestrictionFlags.FractionDigits, Res.Sch_FractionDigitsFacetProhibited);
            CheckDupFlag(facet, RestrictionFlags.FractionDigits, Res.Sch_DupFractionDigitsFacet);
            derivedRestriction.FractionDigits = XmlBaseConverter.DecimalToInt32((decimal)ParseFacetValue(nonNegativeInt, facet, Res.Sch_FractionDigitsFacetInvalid, null, null));

            if ((derivedRestriction.FractionDigits != 0) && (datatype.TypeCode != XmlTypeCode.Decimal)) {
                throw new XmlSchemaException(Res.Sch_FractionDigitsFacetInvalid, Res.GetString(Res.Sch_FractionDigitsNotOnDecimal), facet);
            }
            if ((baseFlags & RestrictionFlags.FractionDigits) != 0) {
                if (derivedRestriction.FractionDigits > datatype.Restriction.FractionDigits) {
                    throw new XmlSchemaException(Res.Sch_TotalDigitsMismatch, string.Empty);
                }
            }
            SetFlag(facet, RestrictionFlags.FractionDigits);
        }