public static IntPtr LoadLibrary(string fileName)
        {
            LoadLibraryCallback callback = new LoadLibraryCallback(NativeLibraryHelper.LoadLibraryWin32);

            if (!UVIntrop.IsWindows)
            {
                callback = new LoadLibraryCallback(NativeLibraryHelper.LoadLibraryPosix);
            }
            return(callback(fileName));
        }
        /// <summary>
        /// Attempts to load the specified native library file.
        /// </summary>
        /// <param name="fileName">
        /// The file name of the native library to load.
        /// </param>
        /// <returns>
        /// The native module handle upon success -OR- IntPtr.Zero on failure.
        /// </returns>
        public static IntPtr LoadLibrary(string fileName)
        {
            LoadLibraryCallback loadLibraryCallback = LoadLibraryWin32;

            if (!HelperMethods.IsWindows())
            {
                loadLibraryCallback = LoadLibraryPosix;
            }

            return(loadLibraryCallback(fileName));
        }