{"id":13629289,"url":"https://github.com/meziantou/Meziantou.Polyfill","last_synced_at":"2025-04-17T08:34:35.844Z","repository":{"id":173221184,"uuid":"650419459","full_name":"meziantou/Meziantou.Polyfill","owner":"meziantou","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-27T00:46:58.000Z","size":301,"stargazers_count":48,"open_issues_count":2,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-05T14:06:49.076Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meziantou.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["meziantou"],"custom":["https://www.buymeacoffee.com/meziantou"]}},"created_at":"2023-06-07T03:14:17.000Z","updated_at":"2025-03-28T19:14:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"a21d7248-69e8-4525-b4ca-5413ad1e8359","html_url":"https://github.com/meziantou/Meziantou.Polyfill","commit_stats":null,"previous_names":["meziantou/meziantou.polyfill"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meziantou%2FMeziantou.Polyfill","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meziantou%2FMeziantou.Polyfill/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meziantou%2FMeziantou.Polyfill/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meziantou%2FMeziantou.Polyfill/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meziantou","download_url":"https://codeload.github.com/meziantou/Meziantou.Polyfill/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249303661,"owners_count":21247719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T22:01:06.591Z","updated_at":"2025-04-17T08:34:35.831Z","avatar_url":"https://github.com/meziantou.png","language":"C#","funding_links":["https://github.com/sponsors/meziantou","https://www.buymeacoffee.com/meziantou"],"categories":["others","Content"],"sub_categories":["72. [Meziantou.Polyfill](https://ignatandrei.github.io/RSCG_Examples/v2/docs/Meziantou.Polyfill) , in the [EnhancementClass](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enhancementclass) category"],"readme":"# Meziantou.Polyfill\n\n[![NuGet](https://img.shields.io/nuget/v/Meziantou.Polyfill.svg)](https://www.nuget.org/packages/Meziantou.Polyfill/)\n\nSource Generator that adds polyfill methods and types. This helps working with multi-targeted projects.\n\nRead more about the project: [Polyfills in .NET to ease multi-targeting](https://www.meziantou.net/polyfills-in-dotnet-to-ease-multi-targeting.htm)\n\n## Installation\n\n````bash\ndotnet add package Meziantou.Polyfill\n````\n\nThen, you should see the generated types in the solution explorer\n\n![Generated files in the Visual Studio's Solution Explorer](docs/solutionexplorer-polyfill.png)\n\n## Customization\n\nBy default, all needed polyfills are generated. You can configure which polyfills should be generated by editing the `.csproj` file and adding the following properties:\n\n````xml\n\u003cPropertyGroup\u003e\n  \u003c!-- semicolon-separated or pipe-separated list of name prefix --\u003e\n  \u003c!-- Tip: The name of the generated polyfills are available in the generated \"Debug.g.cs\" file --\u003e\n  \u003cMeziantouPolyfill_IncludedPolyfills\u003eT:Type1|T:Type2|M:Member1\u003c/MeziantouPolyfill_IncludedPolyfills\u003e\n  \u003cMeziantouPolyfill_ExcludedPolyfills\u003eM:System.Diagnostics.\u003c/MeziantouPolyfill_ExcludedPolyfills\u003e\n\n  \u003c!-- Optional: Output the generated files to the obj\\GeneratedFiles folder  --\u003e\n  \u003cEmitCompilerGeneratedFiles\u003eTrue\u003c/EmitCompilerGeneratedFiles\u003e\n  \u003cCompilerGeneratedFilesOutputPath\u003e$(BaseIntermediateOutputPath)\\GeneratedFiles\u003c/CompilerGeneratedFilesOutputPath\u003e\n\u003c/PropertyGroup\u003e\n````\n\n## Supported polyfills\n\n\u003c!-- begin_polyfills --\u003e\n\n### Types\n\n- `System.Collections.Generic.PriorityQueue\u003cTElement, TPriority\u003e`\n- `System.Collections.Generic.ReferenceEqualityComparer`\n- `System.Diagnostics.CodeAnalysis.AllowNullAttribute`\n- `System.Diagnostics.CodeAnalysis.DisallowNullAttribute`\n- `System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute`\n- `System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute`\n- `System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute`\n- `System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes`\n- `System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute`\n- `System.Diagnostics.CodeAnalysis.ExperimentalAttribute`\n- `System.Diagnostics.CodeAnalysis.MaybeNullAttribute`\n- `System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute`\n- `System.Diagnostics.CodeAnalysis.MemberNotNullAttribute`\n- `System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute`\n- `System.Diagnostics.CodeAnalysis.NotNullAttribute`\n- `System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute`\n- `System.Diagnostics.CodeAnalysis.NotNullWhenAttribute`\n- `System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute`\n- `System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute`\n- `System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute`\n- `System.Diagnostics.CodeAnalysis.SetsRequiredMembersAttribute`\n- `System.Diagnostics.CodeAnalysis.StringSyntaxAttribute`\n- `System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute`\n- `System.Diagnostics.CodeAnalysis.UnscopedRefAttribute`\n- `System.Diagnostics.StackTraceHiddenAttribute`\n- `System.HashCode`\n- `System.Index`\n- `System.Net.Http.ReadOnlyMemoryContent`\n- `System.Range`\n- `System.Runtime.CompilerServices.AsyncMethodBuilderAttribute`\n- `System.Runtime.CompilerServices.CallerArgumentExpressionAttribute`\n- `System.Runtime.CompilerServices.CollectionBuilderAttribute`\n- `System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute`\n- `System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute`\n- `System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute`\n- `System.Runtime.CompilerServices.InterpolatedStringHandlerAttribute`\n- `System.Runtime.CompilerServices.IsExternalInit`\n- `System.Runtime.CompilerServices.ModuleInitializerAttribute`\n- `System.Runtime.CompilerServices.OverloadResolutionPriorityAttribute`\n- `System.Runtime.CompilerServices.RequiredMemberAttribute`\n- `System.Runtime.CompilerServices.SkipLocalsInitAttribute`\n- `System.Runtime.CompilerServices.TupleElementNamesAttribute`\n- `System.Runtime.InteropServices.SuppressGCTransitionAttribute`\n- `System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute`\n- `System.Runtime.Versioning.ObsoletedOSPlatformAttribute`\n- `System.Runtime.Versioning.RequiresPreviewFeaturesAttribute`\n- `System.Runtime.Versioning.SupportedOSPlatformAttribute`\n- `System.Runtime.Versioning.SupportedOSPlatformGuardAttribute`\n- `System.Runtime.Versioning.TargetPlatformAttribute`\n- `System.Runtime.Versioning.UnsupportedOSPlatformAttribute`\n- `System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute`\n- `System.Threading.Lock`\n- `System.Threading.Tasks.TaskToAsyncResult`\n- `System.ValueTuple`\n- `System.ValueTuple\u003cT1\u003e`\n- `System.ValueTuple\u003cT1, T2\u003e`\n- `System.ValueTuple\u003cT1, T2, T3\u003e`\n- `System.ValueTuple\u003cT1, T2, T3, T4\u003e`\n- `System.ValueTuple\u003cT1, T2, T3, T4, T5\u003e`\n- `System.ValueTuple\u003cT1, T2, T3, T4, T5, T6\u003e`\n- `System.ValueTuple\u003cT1, T2, T3, T4, T5, T6, T7\u003e`\n- `System.ValueTuple\u003cT1, T2, T3, T4, T5, T6, T7, TRest\u003e where TRest : struct`\n- `System.ITupleInternal`\n\n### Methods\n\n- `System.Collections.Concurrent.ConcurrentDictionary\u003cTKey, TValue\u003e.GetOrAdd\u003cTArg\u003e(TKey key, System.Func\u003cTKey, TArg, TValue\u003e valueFactory, TArg factoryArgument) where TArg : allows ref struct`\n- `System.Collections.Generic.CollectionExtensions.AsReadOnly\u003cT\u003e(this System.Collections.Generic.IList\u003cT\u003e list)`\n- `System.Collections.Generic.CollectionExtensions.AsReadOnly\u003cTKey, TValue\u003e(this System.Collections.Generic.IDictionary\u003cTKey, TValue\u003e dictionary) where TKey : notnull`\n- `System.Collections.Generic.CollectionExtensions.GetValueOrDefault\u003cTKey, TValue\u003e(this System.Collections.Generic.IReadOnlyDictionary\u003cTKey, TValue\u003e dictionary, TKey key)`\n- `System.Collections.Generic.CollectionExtensions.GetValueOrDefault\u003cTKey, TValue\u003e(this System.Collections.Generic.IReadOnlyDictionary\u003cTKey, TValue\u003e dictionary, TKey key, TValue defaultValue)`\n- `System.Collections.Generic.Dictionary\u003cTKey, TValue\u003e.Remove(TKey key, out TValue value)`\n- `System.Collections.Generic.KeyValuePair\u003cTKey, TValue\u003e.Deconstruct(out TKey key, out TValue value)`\n- `System.Collections.Generic.Queue\u003cT\u003e.TryDequeue(out T result)`\n- `System.Collections.Immutable.ImmutableArray\u003cT\u003e.AsSpan()`\n- `System.Collections.Immutable.ImmutableArray\u003cT\u003e.AsSpan(System.Int32 start, System.Int32 length)`\n- `System.Collections.Immutable.ImmutableArray\u003cT\u003e.AsSpan(System.Range range)`\n- `System.Diagnostics.Process.WaitForExitAsync([System.Threading.CancellationToken cancellationToken = default])`\n- `System.IO.Stream.Read(System.Span\u003cSystem.Byte\u003e buffer)`\n- `System.IO.Stream.ReadAsync(System.Memory\u003cSystem.Byte\u003e buffer, [System.Threading.CancellationToken cancellationToken = default])`\n- `System.IO.Stream.ReadAtLeast(System.Span\u003cSystem.Byte\u003e buffer, System.Int32 minimumBytes, [System.Boolean throwOnEndOfStream = true])`\n- `System.IO.Stream.ReadAtLeastAsync(System.Memory\u003cSystem.Byte\u003e buffer, System.Int32 minimumBytes, [System.Boolean throwOnEndOfStream = true], [System.Threading.CancellationToken cancellationToken = default])`\n- `System.IO.Stream.Write(System.ReadOnlySpan\u003cSystem.Byte\u003e buffer)`\n- `System.IO.Stream.WriteAsync(System.ReadOnlyMemory\u003cSystem.Byte\u003e buffer, [System.Threading.CancellationToken cancellationToken = default])`\n- `System.IO.StreamReader.ReadLineAsync()`\n- `System.IO.StreamReader.ReadLineAsync(System.Threading.CancellationToken cancellationToken)`\n- `System.IO.TextReader.ReadAsync(System.Memory\u003cSystem.Char\u003e buffer, [System.Threading.CancellationToken cancellationToken = default])`\n- `System.IO.TextReader.ReadToEndAsync(System.Threading.CancellationToken cancellationToken)`\n- `System.IO.TextWriter.WriteAsync(System.ReadOnlyMemory\u003cSystem.Char\u003e buffer, [System.Threading.CancellationToken cancellationToken = default])`\n- `System.Linq.Enumerable.AggregateBy\u003cTSource, TKey, TAccumulate\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e source, System.Func\u003cTSource, TKey\u003e keySelector, System.Func\u003cTKey, TAccumulate\u003e seedSelector, System.Func\u003cTAccumulate, TSource, TAccumulate\u003e func, [System.Collections.Generic.IEqualityComparer\u003cTKey\u003e? keyComparer = null]) where TKey : notnull`\n- `System.Linq.Enumerable.AggregateBy\u003cTSource, TKey, TAccumulate\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e source, System.Func\u003cTSource, TKey\u003e keySelector, TAccumulate seed, System.Func\u003cTAccumulate, TSource, TAccumulate\u003e func, [System.Collections.Generic.IEqualityComparer\u003cTKey\u003e? keyComparer = null]) where TKey : notnull`\n- `System.Linq.Enumerable.CountBy\u003cTSource, TKey\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e source, System.Func\u003cTSource, TKey\u003e keySelector, [System.Collections.Generic.IEqualityComparer\u003cTKey\u003e? keyComparer = null]) where TKey : notnull`\n- `System.Linq.Enumerable.DistinctBy\u003cTSource, TKey\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e source, System.Func\u003cTSource, TKey\u003e keySelector)`\n- `System.Linq.Enumerable.DistinctBy\u003cTSource, TKey\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e source, System.Func\u003cTSource, TKey\u003e keySelector, System.Collections.Generic.IEqualityComparer\u003cTKey\u003e? comparer)`\n- `System.Linq.Enumerable.Index\u003cTSource\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e source)`\n- `System.Linq.Enumerable.IntersectBy\u003cTSource, TKey\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e first, System.Collections.Generic.IEnumerable\u003cTKey\u003e second, System.Func\u003cTSource, TKey\u003e keySelector)`\n- `System.Linq.Enumerable.IntersectBy\u003cTSource, TKey\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e first, System.Collections.Generic.IEnumerable\u003cTKey\u003e second, System.Func\u003cTSource, TKey\u003e keySelector, System.Collections.Generic.IEqualityComparer\u003cTKey\u003e? comparer)`\n- `System.Linq.Enumerable.MaxBy\u003cTSource, TKey\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e source, System.Func\u003cTSource, TKey\u003e keySelector)`\n- `System.Linq.Enumerable.MaxBy\u003cTSource, TKey\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e source, System.Func\u003cTSource, TKey\u003e keySelector, System.Collections.Generic.IComparer\u003cTKey\u003e? comparer)`\n- `System.Linq.Enumerable.MinBy\u003cTSource, TKey\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e source, System.Func\u003cTSource, TKey\u003e keySelector)`\n- `System.Linq.Enumerable.MinBy\u003cTSource, TKey\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e source, System.Func\u003cTSource, TKey\u003e keySelector, System.Collections.Generic.IComparer\u003cTKey\u003e? comparer)`\n- `System.Linq.Enumerable.OrderDescending\u003cT\u003e(this System.Collections.Generic.IEnumerable\u003cT\u003e source)`\n- `System.Linq.Enumerable.OrderDescending\u003cT\u003e(this System.Collections.Generic.IEnumerable\u003cT\u003e source, System.Collections.Generic.IComparer\u003cT\u003e? comparer)`\n- `System.Linq.Enumerable.Order\u003cT\u003e(this System.Collections.Generic.IEnumerable\u003cT\u003e source)`\n- `System.Linq.Enumerable.Order\u003cT\u003e(this System.Collections.Generic.IEnumerable\u003cT\u003e source, System.Collections.Generic.IComparer\u003cT\u003e? comparer)`\n- `System.Linq.Enumerable.ToHashSet\u003cTSource\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e source)`\n- `System.Linq.Enumerable.ToHashSet\u003cTSource\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e source, System.Collections.Generic.IEqualityComparer\u003cTSource\u003e? comparer)`\n- `System.Linq.Enumerable.UnionBy\u003cTSource, TKey\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e first, System.Collections.Generic.IEnumerable\u003cTSource\u003e second, System.Func\u003cTSource, TKey\u003e keySelector)`\n- `System.Linq.Enumerable.UnionBy\u003cTSource, TKey\u003e(this System.Collections.Generic.IEnumerable\u003cTSource\u003e first, System.Collections.Generic.IEnumerable\u003cTSource\u003e second, System.Func\u003cTSource, TKey\u003e keySelector, System.Collections.Generic.IEqualityComparer\u003cTKey\u003e? comparer)`\n- `System.Linq.Enumerable.Zip\u003cTFirst, TSecond\u003e(this System.Collections.Generic.IEnumerable\u003cTFirst\u003e first, System.Collections.Generic.IEnumerable\u003cTSecond\u003e second)`\n- `System.MemoryExtensions.AsSpan(this System.String? text, System.Int32 start, System.Int32 length)`\n- `System.MemoryExtensions.CommonPrefixLength\u003cT\u003e(this System.ReadOnlySpan\u003cT\u003e span, System.ReadOnlySpan\u003cT\u003e other)`\n- `System.MemoryExtensions.CommonPrefixLength\u003cT\u003e(this System.ReadOnlySpan\u003cT\u003e span, System.ReadOnlySpan\u003cT\u003e other, System.Collections.Generic.IEqualityComparer\u003cT\u003e? comparer)`\n- `System.MemoryExtensions.CommonPrefixLength\u003cT\u003e(this System.Span\u003cT\u003e span, System.ReadOnlySpan\u003cT\u003e other)`\n- `System.MemoryExtensions.CommonPrefixLength\u003cT\u003e(this System.Span\u003cT\u003e span, System.ReadOnlySpan\u003cT\u003e other, System.Collections.Generic.IEqualityComparer\u003cT\u003e? comparer)`\n- `System.MemoryExtensions.ContainsAnyExcept\u003cT\u003e(this System.ReadOnlySpan\u003cT\u003e span, System.ReadOnlySpan\u003cT\u003e values) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.ContainsAnyExcept\u003cT\u003e(this System.ReadOnlySpan\u003cT\u003e span, T value) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.ContainsAnyExcept\u003cT\u003e(this System.ReadOnlySpan\u003cT\u003e span, T value0, T value1) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.ContainsAnyExcept\u003cT\u003e(this System.ReadOnlySpan\u003cT\u003e span, T value0, T value1, T value2) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.ContainsAnyExcept\u003cT\u003e(this System.Span\u003cT\u003e span, System.ReadOnlySpan\u003cT\u003e values) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.ContainsAnyExcept\u003cT\u003e(this System.Span\u003cT\u003e span, T value) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.ContainsAnyExcept\u003cT\u003e(this System.Span\u003cT\u003e span, T value0, T value1) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.ContainsAnyExcept\u003cT\u003e(this System.Span\u003cT\u003e span, T value0, T value1, T value2) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.ContainsAny\u003cT\u003e(this System.Span\u003cT\u003e span, System.ReadOnlySpan\u003cT\u003e values) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.ContainsAny\u003cT\u003e(this System.Span\u003cT\u003e span, T value0, T value1) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.ContainsAny\u003cT\u003e(this System.Span\u003cT\u003e span, T value0, T value1, T value2) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.Contains\u003cT\u003e(this System.ReadOnlySpan\u003cT\u003e span, T value) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.Contains\u003cT\u003e(this System.Span\u003cT\u003e span, T value) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.IndexOfAnyExcept\u003cT\u003e(this System.ReadOnlySpan\u003cT\u003e span, System.ReadOnlySpan\u003cT\u003e values) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.IndexOfAnyExcept\u003cT\u003e(this System.ReadOnlySpan\u003cT\u003e span, T value) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.IndexOfAnyExcept\u003cT\u003e(this System.ReadOnlySpan\u003cT\u003e span, T value0, T value1) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.IndexOfAnyExcept\u003cT\u003e(this System.ReadOnlySpan\u003cT\u003e span, T value0, T value1, T value2) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.IndexOfAnyExcept\u003cT\u003e(this System.Span\u003cT\u003e span, System.ReadOnlySpan\u003cT\u003e values) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.IndexOfAnyExcept\u003cT\u003e(this System.Span\u003cT\u003e span, T value) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.IndexOfAnyExcept\u003cT\u003e(this System.Span\u003cT\u003e span, T value0, T value1) where T : System.IEquatable\u003cT\u003e?`\n- `System.MemoryExtensions.IndexOfAnyExcept\u003cT\u003e(this System.Span\u003cT\u003e span, T value0, T value1, T value2) where T : System.IEquatable\u003cT\u003e?`\n- `System.Net.Http.HttpContent.CopyTo(System.IO.Stream stream, System.Net.TransportContext? context, System.Threading.CancellationToken cancellationToken)`\n- `System.Net.Http.HttpContent.CopyToAsync(System.IO.Stream stream)`\n- `System.Net.Http.HttpContent.CopyToAsync(System.IO.Stream stream, System.Net.TransportContext? context)`\n- `System.Net.Http.HttpContent.CopyToAsync(System.IO.Stream stream, System.Net.TransportContext? context, System.Threading.CancellationToken cancellationToken)`\n- `System.Net.Http.HttpContent.CopyToAsync(System.IO.Stream stream, System.Threading.CancellationToken cancellationToken)`\n- `System.Net.Http.HttpContent.ReadAsStream(System.Threading.CancellationToken cancellationToken)`\n- `System.Net.Http.HttpContent.ReadAsStream()`\n- `System.Net.Http.HttpContent.ReadAsStringAsync(System.Threading.CancellationToken cancellationToken)`\n- `System.Net.Sockets.UdpClient.Send(System.ReadOnlySpan\u003cSystem.Byte\u003e datagram, System.Net.IPEndPoint? endPoint)`\n- `System.Net.Sockets.UdpClient.Send(System.ReadOnlySpan\u003cSystem.Byte\u003e datagram, System.String? hostname, System.Int32 port)`\n- `System.Net.Sockets.UdpClient.SendAsync(System.ReadOnlyMemory\u003cSystem.Byte\u003e datagram, System.Net.IPEndPoint? endPoint, [System.Threading.CancellationToken cancellationToken = default])`\n- `System.Net.Sockets.UdpClient.SendAsync(System.ReadOnlyMemory\u003cSystem.Byte\u003e datagram, System.String? hostname, System.Int32 port, [System.Threading.CancellationToken cancellationToken = default])`\n- `System.Net.Sockets.UdpClient.SendAsync(System.ReadOnlyMemory\u003cSystem.Byte\u003e datagram, [System.Threading.CancellationToken cancellationToken = default])`\n- `System.String.Contains(System.Char value)`\n- `System.String.Contains(System.Char value, System.StringComparison comparisonType)`\n- `System.String.Contains(System.String value, System.StringComparison comparisonType)`\n- `System.String.CopyTo(System.Span\u003cSystem.Char\u003e destination)`\n- `System.String.EndsWith(System.Char value)`\n- `System.String.GetHashCode(System.StringComparison comparisonType)`\n- `System.String.IndexOf(System.Char value, System.StringComparison comparisonType)`\n- `System.String.Replace(System.String oldValue, System.String? newValue, System.StringComparison comparisonType)`\n- `System.String.ReplaceLineEndings(System.String replacementText)`\n- `System.String.ReplaceLineEndings()`\n- `System.String.Split(System.Char separator, System.Int32 count, [System.StringSplitOptions options = System.StringSplitOptions.None])`\n- `System.String.Split(System.Char separator, [System.StringSplitOptions options = System.StringSplitOptions.None])`\n- `System.String.StartsWith(System.Char value)`\n- `System.String.TryCopyTo(System.Span\u003cSystem.Char\u003e destination)`\n- `System.Text.Encoding.GetString(System.ReadOnlySpan\u003cSystem.Byte\u003e bytes)`\n- `System.Text.StringBuilder.Append(System.ReadOnlyMemory\u003cSystem.Char\u003e value)`\n- `System.Text.StringBuilder.Append(System.ReadOnlySpan\u003cSystem.Char\u003e value)`\n- `System.Text.StringBuilder.AppendJoin(System.Char separator, params System.Object?[] values)`\n- `System.Text.StringBuilder.AppendJoin(System.Char separator, params System.String?[] values)`\n- `System.Text.StringBuilder.AppendJoin(System.String? separator, params System.Object?[] values)`\n- `System.Text.StringBuilder.AppendJoin(System.String? separator, params System.String?[] values)`\n- `System.Text.StringBuilder.AppendJoin\u003cT\u003e(System.Char separator, System.Collections.Generic.IEnumerable\u003cT\u003e values)`\n- `System.Text.StringBuilder.AppendJoin\u003cT\u003e(System.String? separator, System.Collections.Generic.IEnumerable\u003cT\u003e values)`\n- `System.Text.StringBuilder.Replace(System.ReadOnlySpan\u003cSystem.Char\u003e oldValue, System.ReadOnlySpan\u003cSystem.Char\u003e newValue)`\n- `System.Text.StringBuilder.Replace(System.ReadOnlySpan\u003cSystem.Char\u003e oldValue, System.ReadOnlySpan\u003cSystem.Char\u003e newValue, System.Int32 startIndex, System.Int32 count)`\n- `System.Threading.CancellationTokenSource.CancelAsync()`\n- `System.Threading.Tasks.Task.WaitAsync(System.Threading.CancellationToken cancellationToken)`\n- `System.Threading.Tasks.TaskAsyncEnumerableExtensions.ToBlockingEnumerable\u003cT\u003e(this System.Collections.Generic.IAsyncEnumerable\u003cT\u003e source, [System.Threading.CancellationToken cancellationToken = default])`\n- `System.TimeSpan.Multiply(System.Double factor)`\n- `System.Type.IsAssignableTo(System.Type? targetType)`\n\n\u003c!-- end_polyfills --\u003e\n\n## Contribution\n\n#### How to add a new polyfill\n\n- Create a new file named `\u003cxml documentation id\u003e.cs` in the project `Meziantou.Polyfill.Editor`\n- Run `Meziantou.Polyfill.Generator`\n\nNotes:\n- All files must be self contained. Use a `file class` if needed.\n- If you need to generate a file only when another polyfill is generated, add `// when \u003cxml documentation id\u003e` in the file\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeziantou%2FMeziantou.Polyfill","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeziantou%2FMeziantou.Polyfill","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeziantou%2FMeziantou.Polyfill/lists"}