Port open Windows Context Menu feature
- Try use ReadOnlySpan<char> instead of String for applicable API - Use Customized Exception to return error result
1. Rename some method in QueryConstructor.cs by removing prefix and suffix 2. Split the logic of checking '>' to outer SearchManager.cs 3. Use IAsyncEnumerable for potential future improvement.