private MarketDataFeed(string nativeLibraryPath, bool validateArgument) { _nativeImplementation = string.IsNullOrEmpty(nativeLibraryPath) ? (validateArgument ? throw new ArgumentNullException(nameof(nativeLibraryPath)) : NativeImplementation.Default) : new NativeImplementation(nativeLibraryPath); _feedHandle = _nativeImplementation.mdf_create(); _nativeStatusCallback = OnStatusChanged; _nativeDataCallback = OnDataReceived; _nativeStatusCallbackPointer = Marshal.GetFunctionPointerForDelegate(_nativeStatusCallback); _nativeDataCallbackPointer = Marshal.GetFunctionPointerForDelegate(_nativeDataCallback); }