private Message(string nativeLibraryPath, bool validateArgument) { _nativeImplementation = string.IsNullOrEmpty(nativeLibraryPath) ? (validateArgument ? throw new ArgumentNullException(nameof(nativeLibraryPath)) : NativeImplementation.Default) : new NativeImplementation(nativeLibraryPath); Handle = _nativeImplementation.mdf_message_create(); }