internal override NumberFormat CreateInstance(IBM.ICU.Util.ULocale desiredLocale, int choice) { // use service cache // if (service.isDefault()) { // return NumberFormat.createInstance(desiredLocale, choice); // } ULocale[] actualLoc = new ULocale[1]; if (desiredLocale.Equals(IBM.ICU.Util.ULocale.ROOT)) { desiredLocale = IBM.ICU.Util.ULocale.ROOT; } NumberFormat fmt = (NumberFormat)service.Get(desiredLocale, choice, actualLoc); if (fmt == null) { throw new MissingManifestResourceException("Unable to construct NumberFormat"); } fmt = (NumberFormat)fmt.Clone(); ULocale uloc = actualLoc[0]; fmt.SetLocale(uloc, uloc); // services make no distinction between // actual & valid return(fmt); }
protected internal override Object HandleCreate(IBM.ICU.Util.ULocale loc, int kind, ICUService service) { return(IBM.ICU.Text.NumberFormat.CreateInstance(loc, kind)); }