Deduplicate XML documentation comments using inheritdoc cref - #960
Merged
Conversation
Copilot created this pull request from a session on behalf of
Tyrrrz
July 27, 2026 23:16
View session
Tyrrrz
marked this pull request as ready for review
July 28, 2026 07:53
Contributor
There was a problem hiding this comment.
Pull request overview
This PR reduces duplication in the library’s XML documentation by replacing repeated <summary> blocks on overloads/sibling members with <inheritdoc cref="…"/>, pointing at a single canonical member per group.
Changes:
- Replaced duplicated
operator !=XML docs across multiple ID/value types with<inheritdoc cref="…"/>. - Replaced duplicated
operator <XML docs in comparable value types with<inheritdoc cref="…"/>. - Switched select overload summaries in
SearchClientandConversionRequestBuilderto use<inheritdoc cref="…"/>.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 14 comments.
Show a summary per file
| File | Description |
|---|---|
| YoutubeExplode/Videos/VideoId.cs | Replaces operator != summary with <inheritdoc cref="…"/>. |
| YoutubeExplode/Videos/Streams/VideoQuality.cs | Deduplicates != and < operator docs via <inheritdoc cref="…"/>. |
| YoutubeExplode/Videos/Streams/FileSize.cs | Deduplicates != and < operator docs via <inheritdoc cref="…"/>. |
| YoutubeExplode/Videos/Streams/Container.cs | Replaces operator != summary with <inheritdoc cref="…"/>. |
| YoutubeExplode/Videos/Streams/Bitrate.cs | Deduplicates != and < operator docs via <inheritdoc cref="…"/>. |
| YoutubeExplode/Search/SearchClient.cs | Uses <inheritdoc cref="…"/> for the 2-parameter GetResultBatchesAsync overload. |
| YoutubeExplode/Playlists/PlaylistId.cs | Replaces operator != summary with <inheritdoc cref="…"/>. |
| YoutubeExplode/Common/Resolution.cs | Replaces operator != summary with <inheritdoc cref="…"/>. |
| YoutubeExplode/Channels/UserName.cs | Replaces operator != summary with <inheritdoc cref="…"/>. |
| YoutubeExplode/Channels/ChannelSlug.cs | Replaces operator != summary with <inheritdoc cref="…"/>. |
| YoutubeExplode/Channels/ChannelId.cs | Replaces operator != summary with <inheritdoc cref="…"/>. |
| YoutubeExplode/Channels/ChannelHandle.cs | Replaces operator != summary with <inheritdoc cref="…"/>. |
| YoutubeExplode.Converter/ConversionRequestBuilder.cs | Uses <inheritdoc cref="…"/> for SetContainer(string) and SetFormat(string) overloads. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| /// <summary> | ||
| /// Equality check. | ||
| /// </summary> | ||
| /// <inheritdoc cref="operator ==(VideoId, VideoId)" /> |
| /// <summary> | ||
| /// Equality check. | ||
| /// </summary> | ||
| /// <inheritdoc cref="operator ==(VideoQuality, VideoQuality)" /> |
| /// <summary> | ||
| /// Comparison. | ||
| /// </summary> | ||
| /// <inheritdoc cref="operator >(VideoQuality, VideoQuality)" /> |
| /// <summary> | ||
| /// Equality check. | ||
| /// </summary> | ||
| /// <inheritdoc cref="operator ==(FileSize, FileSize)" /> |
| /// <summary> | ||
| /// Comparison. | ||
| /// </summary> | ||
| /// <inheritdoc cref="operator >(FileSize, FileSize)" /> |
| /// <summary> | ||
| /// Equality check. | ||
| /// </summary> | ||
| /// <inheritdoc cref="operator ==(Resolution, Resolution)" /> |
| /// <summary> | ||
| /// Equality check. | ||
| /// </summary> | ||
| /// <inheritdoc cref="operator ==(UserName, UserName)" /> |
| /// <summary> | ||
| /// Equality check. | ||
| /// </summary> | ||
| /// <inheritdoc cref="operator ==(ChannelSlug, ChannelSlug)" /> |
| /// <summary> | ||
| /// Equality check. | ||
| /// </summary> | ||
| /// <inheritdoc cref="operator ==(ChannelId, ChannelId)" /> |
| /// <summary> | ||
| /// Equality check. | ||
| /// </summary> | ||
| /// <inheritdoc cref="operator ==(ChannelHandle, ChannelHandle)" /> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Audit of XML doc comments revealed multiple groups of semantically duplicate
<summary>blocks across sibling/overload symbols. All duplicates are replaced with<inheritdoc cref="…"/>pointing to the canonical member.Groups deduplicated
operator !=("Equality check.") × 11 types —ChannelId,VideoId,PlaylistId,ChannelHandle,ChannelSlug,UserName,Bitrate,FileSize,VideoQuality,Resolution,Containeroperator ==(T, T)in each typeoperator <("Comparison.") × 3 types —Bitrate,FileSize,VideoQualityoperator >(T, T)in each typeSearchClient.GetResultBatchesAsync2-param overloadGetResultBatchesAsync(string, SearchFilter, CancellationToken)ConversionRequestBuilder.SetContainer(string)/SetFormat(string)SetContainer(Container)/SetFormat(ConversionFormat)Pattern applied
All replacements use explicit
cref(sibling/overload context — no bare<inheritdoc/>):Not changed
ConversionExtensions.DownloadAsync(VideoId, string, …)overloads — these share a near-duplicate summary but each carries distinct<remarks>, and Roslyn cannot resolve acrefto a sibling method inside a C# 14extension(VideoClient)block.