Beispiel #1
0
        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();
Beispiel #4
0
 static NativeMethods()
 {
     Methods = new MethodsContainer();
     ResetIcuVersionInfo();
 }