internal CompletionCommandHandler(IVsTextView textViewAdapter, ITextView textView, CompletionHandlerProvider provider) { this._textView = textView; this._provider = provider; //add the command to the command chain textViewAdapter.AddCommandFilter(this, out _nextCommandHandler); var nextProp = _nextCommandHandler.GetType().GetProperty("Next"); var filterObjectProp = _nextCommandHandler.GetType().GetProperty("FilterObject"); _realCommandHandler = (IOleCommandTarget) filterObjectProp.GetValue(nextProp.GetValue(nextProp.GetValue(_nextCommandHandler))); textView.Properties[typeof (CompletionCommandHandler)] = this; }
internal CompletionCommandHandler(IVsTextView textViewAdapter, ITextView textView, CompletionHandlerProvider provider) { this._textView = textView; this._provider = provider; //add the command to the command chain textViewAdapter.AddCommandFilter(this, out _nextCommandHandler); var nextProp = _nextCommandHandler.GetType().GetProperty("Next"); var filterObjectProp = _nextCommandHandler.GetType().GetProperty("FilterObject"); _realCommandHandler = (IOleCommandTarget) filterObjectProp.GetValue(nextProp.GetValue(nextProp.GetValue(_nextCommandHandler))); textView.Properties[typeof(CompletionCommandHandler)] = this; }