Skip to content

Remove .NET Framework remarks (System.Globalization)#12635

Open
gewarren wants to merge 3 commits into
dotnet:mainfrom
gewarren:fw-remarks-system-globalization
Open

Remove .NET Framework remarks (System.Globalization)#12635
gewarren wants to merge 3 commits into
dotnet:mainfrom
gewarren:fw-remarks-system-globalization

Conversation

@gewarren
Copy link
Copy Markdown
Contributor

.NET Framework API ref has moved to its own repo (https://github.com/dotnet/dotnetfw-api-docs), so we can clean up .NET Framework remarks, exceptions, and code examples out of this repo. Contributes to #12513.

Removes remarks related to:

  • .NET Framework versions
  • Code-access security
  • Configuring apps via app.config file
  • App domains

Hide whitespace changes

@gewarren gewarren requested a review from a team as a code owner May 21, 2026 00:10
Copilot AI review requested due to automatic review settings May 21, 2026 00:10
@dotnet-policy-service
Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-globalization

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates System.Globalization API reference XML docs to remove or modernize .NET Framework-specific remarks and version-dependent guidance now that .NET Framework reference docs live in a separate repository.

Changes:

  • Replaces “.NET Framework” phrasing in various remarks/notes/examples with “.NET”/“modern .NET”, and removes some .NET Framework version-specific remarks.
  • Removes legacy guidance blocks (for example, OS-/framework-version-specific IDNA notes and older version comparisons) from several types.
  • Simplifies or updates remarks/exceptions to better match modern .NET behavior and terminology.

Reviewed changes

Copilot reviewed 26 out of 26 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
xml/System.Globalization/UmAlQuraCalendar.xml Updates notes/examples wording and removes .NET Framework version-specific remarks.
xml/System.Globalization/ThaiBuddhistCalendar.xml Updates note and example wording from .NET Framework to .NET.
xml/System.Globalization/TextElementEnumerator.xml Updates remarks wording; markdown formatting/typo issues need follow-up.
xml/System.Globalization/TaiwanLunisolarCalendar.xml Updates note wording from .NET Framework to .NET.
xml/System.Globalization/TaiwanCalendar.xml Updates note and example wording from .NET Framework to .NET.
xml/System.Globalization/StringInfo.xml Removes .NET Framework/Core version comparisons; normalizes section heading text.
xml/System.Globalization/RegionInfo.xml Rephrases version comparisons using “modern .NET”.
xml/System.Globalization/PersianCalendar.xml Removes .NET Framework version-specific behavior notes; keeps modern behavior descriptions.
xml/System.Globalization/NumberFormatInfo.xml Removes .NET Framework-specific exception behavior note.
xml/System.Globalization/KoreanLunisolarCalendar.xml Rewords earliest supported date comparison.
xml/System.Globalization/KoreanCalendar.xml Updates note and example wording from .NET Framework to .NET.
xml/System.Globalization/JulianCalendar.xml Updates note and example wording from .NET Framework to .NET.
xml/System.Globalization/JapaneseCalendar.xml Rephrases MinSupportedDateTime note to remove framework-specific wording.
xml/System.Globalization/IdnMapping.xml Removes .NET Framework 4.5 / OS-dependent IDNA standard notes.
xml/System.Globalization/HijriCalendar.xml Updates note and example wording from .NET Framework to .NET.
xml/System.Globalization/HebrewCalendar.xml Updates note and example wording from .NET Framework to .NET.
xml/System.Globalization/GregorianCalendar.xml Updates notes/examples wording; rephrases historic-date guidance to .NET.
xml/System.Globalization/EastAsianLunisolarCalendar.xml Updates note wording from .NET Framework to .NET.
xml/System.Globalization/CultureTypes.xml Updates summaries/remarks to remove framework split; one deprecated-member description needs clarification.
xml/System.Globalization/CultureNotFoundException.xml Updates warning wording; needs to account for invariant-mode scenarios.
xml/System.Globalization/CultureInfo.xml Removes .NET Framework version history in usage blocks; adds invariant-mode guidance; one placeholder/typo needs fixing.
xml/System.Globalization/CompareInfo.xml Rewords hash-code stability guidance; currently introduces misleading guidance about collections.
xml/System.Globalization/ChineseLunisolarCalendar.xml Updates note wording from .NET Framework to .NET.
xml/System.Globalization/CharUnicodeInfo.xml Removes .NET Framework Unicode-version table; replaces with modern .NET phrasing.
xml/System.Globalization/CalendarWeekRule.xml Removes “Starting with .NET Core 3.0” phrasing; keeps ISOWeek guidance.
xml/System.Globalization/Calendar.xml Same ISO 8601 / ISOWeek wording update as CalendarWeekRule.
Comments suppressed due to low confidence (1)

xml/System.Globalization/TextElementEnumerator.xml:88

  • These lines are indented by a leading space inside the markdown block; after a list this can cause the text to be rendered as part of the previous list item. Consider removing the leading indentation so the paragraphs render consistently as normal text after the list.
 The <xref:System.Globalization.TextElementEnumerator> class allows you to work with the text elements in a string rather than with single <xref:System.Char> objects.

 You instantiate a <xref:System.Globalization.TextElementEnumerator> object that represents a particular string by passing the string to the <xref:System.Globalization.StringInfo.GetTextElementEnumerator*?displayProperty=nameWithType> method. This returns an enumerator that is positioned before the first text element in the string. Calling the <xref:System.Globalization.TextElementEnumerator.Reset*> method also brings the enumerator back to this position. Because this represents an invalid state, you must call <xref:System.Globalization.TextElementEnumerator.MoveNext*> to advance the enumerator to the first text element of the string before reading the value of the <xref:System.Globalization.TextElementEnumerator.Current> property to return the current text element.

 When working with a <xref:System.Globalization.TextElementEnumerator> object, you are responsible for positioning the enumerator. The <xref:System.Globalization.TextElementEnumerator.Current> property returns the same text element until you call either <xref:System.Globalization.TextElementEnumerator.MoveNext*> or <xref:System.Globalization.TextElementEnumerator.Reset*>. The enumerator is in an invalid state if it is positioned before the first text element or after the last text element in the string. When the enumerator is in an invalid state, attempting to retrieve the value of the <xref:System.Globalization.TextElementEnumerator.Current> property throws an exception. You can determine whether the enumerator is in an invalid state by testing whether the return value of the <xref:System.Globalization.TextElementEnumerator.MoveNext> property is `false`.

Comment thread xml/System.Globalization/TextElementEnumerator.xml Outdated
Comment thread xml/System.Globalization/CultureInfo.xml Outdated
Comment thread xml/System.Globalization/CultureInfo.xml
Comment thread xml/System.Globalization/CompareInfo.xml Outdated
Comment on lines 1407 to 1411
> [!IMPORTANT]
> If two string objects are equal, the <xref:System.Globalization.CompareInfo.GetHashCode*> method returns identical values. However, there is not a unique hash code value for each unique string value. Different strings can return the same hash code.
> If two string objects are equal, the <xref:System.Globalization.CompareInfo.GetHashCode*> method returns identical values. However, there is not a unique hash code value for each unique string value. Different strings can return the same hash code.
>
> The hash code itself is not guaranteed to be stable. Hash codes for identical strings can differ across versions of the .NET Framework and across platforms (such as 32-bit and 64-bit) for a single version of the .NET Framework. In some cases, they can even differ by application domain.
>
> As a result, hash codes should never be used outside of the application domain in which they were created, they should never be used as key fields in a collection, and they should never be persisted.
> The hash code itself is not guaranteed to be stable. Hash codes for identical strings can differ across versions of .NET and across platforms (such as 32-bit and 64-bit) for a single version of .NET. As a result, hash codes should never be used as key fields in a collection, and they should never be persisted.

<MemberValue>16</MemberValue>
<Docs>
<summary>**This member is deprecated.** Custom cultures created by the user that replace cultures shipped with the .NET Framework.</summary>
<summary>**This member is deprecated.** Specifies custom cultures created by the user that replace cultures shipped with .NET.</summary>
Comment thread xml/System.Globalization/CultureNotFoundException.xml
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants