public static void Cleanup() { Trace.WriteLineIf(Verbose, "icu.net: Cleanup"); lock (_lock) { try { u_cleanup(); } catch { // ignore failures - can happen when running unit tests } if (IsWindows) { if (_IcuCommonLibHandle != IntPtr.Zero) { FreeLibrary(_IcuCommonLibHandle); } if (_IcuI18NLibHandle != IntPtr.Zero) { FreeLibrary(_IcuI18NLibHandle); } } else { if (_IcuCommonLibHandle != IntPtr.Zero) { dlclose(_IcuCommonLibHandle); } if (_IcuI18NLibHandle != IntPtr.Zero) { dlclose(_IcuI18NLibHandle); } } _IcuCommonLibHandle = IntPtr.Zero; _IcuI18NLibHandle = IntPtr.Zero; Methods = new MethodsContainer(); _BiDiMethods = null; _BreakIteratorMethods = null; _CodepageConversionMethods = null; _CollatorMethods = null; _LocalesMethods = null; _MessageFormatMethods = null; _NormalizeMethods = null; _RegexMethods = null; _ResourceBundleMethods = null; _TransliteratorMethods = null; _UnicodeSetMethods = null; ResetIcuVersionInfo(); } }
public int DynamicMethodDelegateWrapper() => MethodsContainer.DynamicMethodDelegateWrapper();
public int TypeMemberMethodDelegateWrapper() => MethodsContainer.TypeMemberMethodDelegateWrapper();
static NativeMethods() { Methods = new MethodsContainer(); ResetIcuVersionInfo(); }