1
0
mirror of synced 2025-12-19 18:06:02 -05:00

clean up queue

This commit is contained in:
Lee Coward
2017-07-05 14:24:38 -07:00
parent fd455a0273
commit a31254a958
118 changed files with 35785 additions and 35785 deletions

View File

@@ -1,109 +1,109 @@
# .NET Core 1.0.0 API List
API listing follows standard diff formatting. Lines preceded by a '+' are
additions and a '-' indicates removal.
* [Microsoft.CSharp.RuntimeBinder](1.0.0-api/1.0.0-api_Microsoft.CSharp.RuntimeBinder.md)
* [Microsoft.SqlServer.Server](1.0.0-api/1.0.0-api_Microsoft.SqlServer.Server.md)
* [Microsoft.VisualBasic](1.0.0-api/1.0.0-api_Microsoft.VisualBasic.md)
* [Microsoft.VisualBasic.CompilerServices](1.0.0-api/1.0.0-api_Microsoft.VisualBasic.CompilerServices.md)
* [Microsoft.Win32](1.0.0-api/1.0.0-api_Microsoft.Win32.md)
* [Microsoft.Win32.SafeHandles](1.0.0-api/1.0.0-api_Microsoft.Win32.SafeHandles.md)
* [System](1.0.0-api/1.0.0-api_System.md)
* [System.Buffers](1.0.0-api/1.0.0-api_System.Buffers.md)
* [System.CodeDom.Compiler](1.0.0-api/1.0.0-api_System.CodeDom.Compiler.md)
* [System.Collections](1.0.0-api/1.0.0-api_System.Collections.md)
* [System.Collections.Concurrent](1.0.0-api/1.0.0-api_System.Collections.Concurrent.md)
* [System.Collections.Generic](1.0.0-api/1.0.0-api_System.Collections.Generic.md)
* [System.Collections.Immutable](1.0.0-api/1.0.0-api_System.Collections.Immutable.md)
* [System.Collections.ObjectModel](1.0.0-api/1.0.0-api_System.Collections.ObjectModel.md)
* [System.Collections.Specialized](1.0.0-api/1.0.0-api_System.Collections.Specialized.md)
* [System.ComponentModel](1.0.0-api/1.0.0-api_System.ComponentModel.md)
* [System.ComponentModel.DataAnnotations](1.0.0-api/1.0.0-api_System.ComponentModel.DataAnnotations.md)
* [System.ComponentModel.DataAnnotations.Schema](1.0.0-api/1.0.0-api_System.ComponentModel.DataAnnotations.Schema.md)
* [System.Configuration.Assemblies](1.0.0-api/1.0.0-api_System.Configuration.Assemblies.md)
* [System.Data](1.0.0-api/1.0.0-api_System.Data.md)
* [System.Data.Common](1.0.0-api/1.0.0-api_System.Data.Common.md)
* [System.Data.SqlClient](1.0.0-api/1.0.0-api_System.Data.SqlClient.md)
* [System.Data.SqlTypes](1.0.0-api/1.0.0-api_System.Data.SqlTypes.md)
* [System.Diagnostics](1.0.0-api/1.0.0-api_System.Diagnostics.md)
* [System.Diagnostics.CodeAnalysis](1.0.0-api/1.0.0-api_System.Diagnostics.CodeAnalysis.md)
* [System.Diagnostics.Contracts](1.0.0-api/1.0.0-api_System.Diagnostics.Contracts.md)
* [System.Diagnostics.Contracts.Internal](1.0.0-api/1.0.0-api_System.Diagnostics.Contracts.Internal.md)
* [System.Diagnostics.SymbolStore](1.0.0-api/1.0.0-api_System.Diagnostics.SymbolStore.md)
* [System.Diagnostics.Tracing](1.0.0-api/1.0.0-api_System.Diagnostics.Tracing.md)
* [System.Drawing](1.0.0-api/1.0.0-api_System.Drawing.md)
* [System.Dynamic](1.0.0-api/1.0.0-api_System.Dynamic.md)
* [System.Globalization](1.0.0-api/1.0.0-api_System.Globalization.md)
* [System.IdentityModel](1.0.0-api/1.0.0-api_System.IdentityModel.md)
* [System.IdentityModel.Claims](1.0.0-api/1.0.0-api_System.IdentityModel.Claims.md)
* [System.IdentityModel.Policy](1.0.0-api/1.0.0-api_System.IdentityModel.Policy.md)
* [System.IdentityModel.Selectors](1.0.0-api/1.0.0-api_System.IdentityModel.Selectors.md)
* [System.IdentityModel.Tokens](1.0.0-api/1.0.0-api_System.IdentityModel.Tokens.md)
* [System.IO](1.0.0-api/1.0.0-api_System.IO.md)
* [System.IO.Compression](1.0.0-api/1.0.0-api_System.IO.Compression.md)
* [System.IO.MemoryMappedFiles](1.0.0-api/1.0.0-api_System.IO.MemoryMappedFiles.md)
* [System.IO.Packaging](1.0.0-api/1.0.0-api_System.IO.Packaging.md)
* [System.IO.Pipes](1.0.0-api/1.0.0-api_System.IO.Pipes.md)
* [System.Linq](1.0.0-api/1.0.0-api_System.Linq.md)
* [System.Linq.Expressions](1.0.0-api/1.0.0-api_System.Linq.Expressions.md)
* [System.Net](1.0.0-api/1.0.0-api_System.Net.md)
* [System.Net.Http](1.0.0-api/1.0.0-api_System.Net.Http.md)
* [System.Net.Http.Headers](1.0.0-api/1.0.0-api_System.Net.Http.Headers.md)
* [System.Net.NetworkInformation](1.0.0-api/1.0.0-api_System.Net.NetworkInformation.md)
* [System.Net.Security](1.0.0-api/1.0.0-api_System.Net.Security.md)
* [System.Net.Sockets](1.0.0-api/1.0.0-api_System.Net.Sockets.md)
* [System.Net.WebSockets](1.0.0-api/1.0.0-api_System.Net.WebSockets.md)
* [System.Numerics](1.0.0-api/1.0.0-api_System.Numerics.md)
* [System.Reflection](1.0.0-api/1.0.0-api_System.Reflection.md)
* [System.Reflection.Context](1.0.0-api/1.0.0-api_System.Reflection.Context.md)
* [System.Reflection.Emit](1.0.0-api/1.0.0-api_System.Reflection.Emit.md)
* [System.Reflection.Metadata](1.0.0-api/1.0.0-api_System.Reflection.Metadata.md)
* [System.Reflection.Metadata.Ecma335](1.0.0-api/1.0.0-api_System.Reflection.Metadata.Ecma335.md)
* [System.Reflection.PortableExecutable](1.0.0-api/1.0.0-api_System.Reflection.PortableExecutable.md)
* [System.Resources](1.0.0-api/1.0.0-api_System.Resources.md)
* [System.Runtime](1.0.0-api/1.0.0-api_System.Runtime.md)
* [System.Runtime.CompilerServices](1.0.0-api/1.0.0-api_System.Runtime.CompilerServices.md)
* [System.Runtime.ConstrainedExecution](1.0.0-api/1.0.0-api_System.Runtime.ConstrainedExecution.md)
* [System.Runtime.Diagnostics](1.0.0-api/1.0.0-api_System.Runtime.Diagnostics.md)
* [System.Runtime.ExceptionServices](1.0.0-api/1.0.0-api_System.Runtime.ExceptionServices.md)
* [System.Runtime.InteropServices](1.0.0-api/1.0.0-api_System.Runtime.InteropServices.md)
* [System.Runtime.InteropServices.ComTypes](1.0.0-api/1.0.0-api_System.Runtime.InteropServices.ComTypes.md)
* [System.Runtime.InteropServices.WindowsRuntime](1.0.0-api/1.0.0-api_System.Runtime.InteropServices.WindowsRuntime.md)
* [System.Runtime.Loader](1.0.0-api/1.0.0-api_System.Runtime.Loader.md)
* [System.Runtime.Serialization](1.0.0-api/1.0.0-api_System.Runtime.Serialization.md)
* [System.Runtime.Serialization.Json](1.0.0-api/1.0.0-api_System.Runtime.Serialization.Json.md)
* [System.Runtime.Versioning](1.0.0-api/1.0.0-api_System.Runtime.Versioning.md)
* [System.Security](1.0.0-api/1.0.0-api_System.Security.md)
* [System.Security.AccessControl](1.0.0-api/1.0.0-api_System.Security.AccessControl.md)
* [System.Security.Authentication](1.0.0-api/1.0.0-api_System.Security.Authentication.md)
* [System.Security.Authentication.ExtendedProtection](1.0.0-api/1.0.0-api_System.Security.Authentication.ExtendedProtection.md)
* [System.Security.Claims](1.0.0-api/1.0.0-api_System.Security.Claims.md)
* [System.Security.Cryptography](1.0.0-api/1.0.0-api_System.Security.Cryptography.md)
* [System.Security.Cryptography.Pkcs](1.0.0-api/1.0.0-api_System.Security.Cryptography.Pkcs.md)
* [System.Security.Cryptography.X509Certificates](1.0.0-api/1.0.0-api_System.Security.Cryptography.X509Certificates.md)
* [System.Security.Cryptography.Xml](1.0.0-api/1.0.0-api_System.Security.Cryptography.Xml.md)
* [System.Security.Permissions](1.0.0-api/1.0.0-api_System.Security.Permissions.md)
* [System.Security.Principal](1.0.0-api/1.0.0-api_System.Security.Principal.md)
* [System.ServiceModel](1.0.0-api/1.0.0-api_System.ServiceModel.md)
* [System.ServiceModel.Channels](1.0.0-api/1.0.0-api_System.ServiceModel.Channels.md)
* [System.ServiceModel.Description](1.0.0-api/1.0.0-api_System.ServiceModel.Description.md)
* [System.ServiceModel.Diagnostics](1.0.0-api/1.0.0-api_System.ServiceModel.Diagnostics.md)
* [System.ServiceModel.Dispatcher](1.0.0-api/1.0.0-api_System.ServiceModel.Dispatcher.md)
* [System.ServiceModel.Security](1.0.0-api/1.0.0-api_System.ServiceModel.Security.md)
* [System.ServiceModel.Security.Tokens](1.0.0-api/1.0.0-api_System.ServiceModel.Security.Tokens.md)
* [System.ServiceProcess](1.0.0-api/1.0.0-api_System.ServiceProcess.md)
* [System.Text](1.0.0-api/1.0.0-api_System.Text.md)
* [System.Text.Encodings.Web](1.0.0-api/1.0.0-api_System.Text.Encodings.Web.md)
* [System.Text.RegularExpressions](1.0.0-api/1.0.0-api_System.Text.RegularExpressions.md)
* [System.Text.Unicode](1.0.0-api/1.0.0-api_System.Text.Unicode.md)
* [System.Threading](1.0.0-api/1.0.0-api_System.Threading.md)
* [System.Threading.Tasks](1.0.0-api/1.0.0-api_System.Threading.Tasks.md)
* [System.Threading.Tasks.Dataflow](1.0.0-api/1.0.0-api_System.Threading.Tasks.Dataflow.md)
* [System.Windows.Input](1.0.0-api/1.0.0-api_System.Windows.Input.md)
* [System.Xml](1.0.0-api/1.0.0-api_System.Xml.md)
* [System.Xml.Linq](1.0.0-api/1.0.0-api_System.Xml.Linq.md)
* [System.Xml.Schema](1.0.0-api/1.0.0-api_System.Xml.Schema.md)
* [System.Xml.Serialization](1.0.0-api/1.0.0-api_System.Xml.Serialization.md)
* [System.Xml.XPath](1.0.0-api/1.0.0-api_System.Xml.XPath.md)
# .NET Core 1.0.0 API List
API listing follows standard diff formatting. Lines preceded by a '+' are
additions and a '-' indicates removal.
* [Microsoft.CSharp.RuntimeBinder](1.0.0-api/1.0.0-api_Microsoft.CSharp.RuntimeBinder.md)
* [Microsoft.SqlServer.Server](1.0.0-api/1.0.0-api_Microsoft.SqlServer.Server.md)
* [Microsoft.VisualBasic](1.0.0-api/1.0.0-api_Microsoft.VisualBasic.md)
* [Microsoft.VisualBasic.CompilerServices](1.0.0-api/1.0.0-api_Microsoft.VisualBasic.CompilerServices.md)
* [Microsoft.Win32](1.0.0-api/1.0.0-api_Microsoft.Win32.md)
* [Microsoft.Win32.SafeHandles](1.0.0-api/1.0.0-api_Microsoft.Win32.SafeHandles.md)
* [System](1.0.0-api/1.0.0-api_System.md)
* [System.Buffers](1.0.0-api/1.0.0-api_System.Buffers.md)
* [System.CodeDom.Compiler](1.0.0-api/1.0.0-api_System.CodeDom.Compiler.md)
* [System.Collections](1.0.0-api/1.0.0-api_System.Collections.md)
* [System.Collections.Concurrent](1.0.0-api/1.0.0-api_System.Collections.Concurrent.md)
* [System.Collections.Generic](1.0.0-api/1.0.0-api_System.Collections.Generic.md)
* [System.Collections.Immutable](1.0.0-api/1.0.0-api_System.Collections.Immutable.md)
* [System.Collections.ObjectModel](1.0.0-api/1.0.0-api_System.Collections.ObjectModel.md)
* [System.Collections.Specialized](1.0.0-api/1.0.0-api_System.Collections.Specialized.md)
* [System.ComponentModel](1.0.0-api/1.0.0-api_System.ComponentModel.md)
* [System.ComponentModel.DataAnnotations](1.0.0-api/1.0.0-api_System.ComponentModel.DataAnnotations.md)
* [System.ComponentModel.DataAnnotations.Schema](1.0.0-api/1.0.0-api_System.ComponentModel.DataAnnotations.Schema.md)
* [System.Configuration.Assemblies](1.0.0-api/1.0.0-api_System.Configuration.Assemblies.md)
* [System.Data](1.0.0-api/1.0.0-api_System.Data.md)
* [System.Data.Common](1.0.0-api/1.0.0-api_System.Data.Common.md)
* [System.Data.SqlClient](1.0.0-api/1.0.0-api_System.Data.SqlClient.md)
* [System.Data.SqlTypes](1.0.0-api/1.0.0-api_System.Data.SqlTypes.md)
* [System.Diagnostics](1.0.0-api/1.0.0-api_System.Diagnostics.md)
* [System.Diagnostics.CodeAnalysis](1.0.0-api/1.0.0-api_System.Diagnostics.CodeAnalysis.md)
* [System.Diagnostics.Contracts](1.0.0-api/1.0.0-api_System.Diagnostics.Contracts.md)
* [System.Diagnostics.Contracts.Internal](1.0.0-api/1.0.0-api_System.Diagnostics.Contracts.Internal.md)
* [System.Diagnostics.SymbolStore](1.0.0-api/1.0.0-api_System.Diagnostics.SymbolStore.md)
* [System.Diagnostics.Tracing](1.0.0-api/1.0.0-api_System.Diagnostics.Tracing.md)
* [System.Drawing](1.0.0-api/1.0.0-api_System.Drawing.md)
* [System.Dynamic](1.0.0-api/1.0.0-api_System.Dynamic.md)
* [System.Globalization](1.0.0-api/1.0.0-api_System.Globalization.md)
* [System.IdentityModel](1.0.0-api/1.0.0-api_System.IdentityModel.md)
* [System.IdentityModel.Claims](1.0.0-api/1.0.0-api_System.IdentityModel.Claims.md)
* [System.IdentityModel.Policy](1.0.0-api/1.0.0-api_System.IdentityModel.Policy.md)
* [System.IdentityModel.Selectors](1.0.0-api/1.0.0-api_System.IdentityModel.Selectors.md)
* [System.IdentityModel.Tokens](1.0.0-api/1.0.0-api_System.IdentityModel.Tokens.md)
* [System.IO](1.0.0-api/1.0.0-api_System.IO.md)
* [System.IO.Compression](1.0.0-api/1.0.0-api_System.IO.Compression.md)
* [System.IO.MemoryMappedFiles](1.0.0-api/1.0.0-api_System.IO.MemoryMappedFiles.md)
* [System.IO.Packaging](1.0.0-api/1.0.0-api_System.IO.Packaging.md)
* [System.IO.Pipes](1.0.0-api/1.0.0-api_System.IO.Pipes.md)
* [System.Linq](1.0.0-api/1.0.0-api_System.Linq.md)
* [System.Linq.Expressions](1.0.0-api/1.0.0-api_System.Linq.Expressions.md)
* [System.Net](1.0.0-api/1.0.0-api_System.Net.md)
* [System.Net.Http](1.0.0-api/1.0.0-api_System.Net.Http.md)
* [System.Net.Http.Headers](1.0.0-api/1.0.0-api_System.Net.Http.Headers.md)
* [System.Net.NetworkInformation](1.0.0-api/1.0.0-api_System.Net.NetworkInformation.md)
* [System.Net.Security](1.0.0-api/1.0.0-api_System.Net.Security.md)
* [System.Net.Sockets](1.0.0-api/1.0.0-api_System.Net.Sockets.md)
* [System.Net.WebSockets](1.0.0-api/1.0.0-api_System.Net.WebSockets.md)
* [System.Numerics](1.0.0-api/1.0.0-api_System.Numerics.md)
* [System.Reflection](1.0.0-api/1.0.0-api_System.Reflection.md)
* [System.Reflection.Context](1.0.0-api/1.0.0-api_System.Reflection.Context.md)
* [System.Reflection.Emit](1.0.0-api/1.0.0-api_System.Reflection.Emit.md)
* [System.Reflection.Metadata](1.0.0-api/1.0.0-api_System.Reflection.Metadata.md)
* [System.Reflection.Metadata.Ecma335](1.0.0-api/1.0.0-api_System.Reflection.Metadata.Ecma335.md)
* [System.Reflection.PortableExecutable](1.0.0-api/1.0.0-api_System.Reflection.PortableExecutable.md)
* [System.Resources](1.0.0-api/1.0.0-api_System.Resources.md)
* [System.Runtime](1.0.0-api/1.0.0-api_System.Runtime.md)
* [System.Runtime.CompilerServices](1.0.0-api/1.0.0-api_System.Runtime.CompilerServices.md)
* [System.Runtime.ConstrainedExecution](1.0.0-api/1.0.0-api_System.Runtime.ConstrainedExecution.md)
* [System.Runtime.Diagnostics](1.0.0-api/1.0.0-api_System.Runtime.Diagnostics.md)
* [System.Runtime.ExceptionServices](1.0.0-api/1.0.0-api_System.Runtime.ExceptionServices.md)
* [System.Runtime.InteropServices](1.0.0-api/1.0.0-api_System.Runtime.InteropServices.md)
* [System.Runtime.InteropServices.ComTypes](1.0.0-api/1.0.0-api_System.Runtime.InteropServices.ComTypes.md)
* [System.Runtime.InteropServices.WindowsRuntime](1.0.0-api/1.0.0-api_System.Runtime.InteropServices.WindowsRuntime.md)
* [System.Runtime.Loader](1.0.0-api/1.0.0-api_System.Runtime.Loader.md)
* [System.Runtime.Serialization](1.0.0-api/1.0.0-api_System.Runtime.Serialization.md)
* [System.Runtime.Serialization.Json](1.0.0-api/1.0.0-api_System.Runtime.Serialization.Json.md)
* [System.Runtime.Versioning](1.0.0-api/1.0.0-api_System.Runtime.Versioning.md)
* [System.Security](1.0.0-api/1.0.0-api_System.Security.md)
* [System.Security.AccessControl](1.0.0-api/1.0.0-api_System.Security.AccessControl.md)
* [System.Security.Authentication](1.0.0-api/1.0.0-api_System.Security.Authentication.md)
* [System.Security.Authentication.ExtendedProtection](1.0.0-api/1.0.0-api_System.Security.Authentication.ExtendedProtection.md)
* [System.Security.Claims](1.0.0-api/1.0.0-api_System.Security.Claims.md)
* [System.Security.Cryptography](1.0.0-api/1.0.0-api_System.Security.Cryptography.md)
* [System.Security.Cryptography.Pkcs](1.0.0-api/1.0.0-api_System.Security.Cryptography.Pkcs.md)
* [System.Security.Cryptography.X509Certificates](1.0.0-api/1.0.0-api_System.Security.Cryptography.X509Certificates.md)
* [System.Security.Cryptography.Xml](1.0.0-api/1.0.0-api_System.Security.Cryptography.Xml.md)
* [System.Security.Permissions](1.0.0-api/1.0.0-api_System.Security.Permissions.md)
* [System.Security.Principal](1.0.0-api/1.0.0-api_System.Security.Principal.md)
* [System.ServiceModel](1.0.0-api/1.0.0-api_System.ServiceModel.md)
* [System.ServiceModel.Channels](1.0.0-api/1.0.0-api_System.ServiceModel.Channels.md)
* [System.ServiceModel.Description](1.0.0-api/1.0.0-api_System.ServiceModel.Description.md)
* [System.ServiceModel.Diagnostics](1.0.0-api/1.0.0-api_System.ServiceModel.Diagnostics.md)
* [System.ServiceModel.Dispatcher](1.0.0-api/1.0.0-api_System.ServiceModel.Dispatcher.md)
* [System.ServiceModel.Security](1.0.0-api/1.0.0-api_System.ServiceModel.Security.md)
* [System.ServiceModel.Security.Tokens](1.0.0-api/1.0.0-api_System.ServiceModel.Security.Tokens.md)
* [System.ServiceProcess](1.0.0-api/1.0.0-api_System.ServiceProcess.md)
* [System.Text](1.0.0-api/1.0.0-api_System.Text.md)
* [System.Text.Encodings.Web](1.0.0-api/1.0.0-api_System.Text.Encodings.Web.md)
* [System.Text.RegularExpressions](1.0.0-api/1.0.0-api_System.Text.RegularExpressions.md)
* [System.Text.Unicode](1.0.0-api/1.0.0-api_System.Text.Unicode.md)
* [System.Threading](1.0.0-api/1.0.0-api_System.Threading.md)
* [System.Threading.Tasks](1.0.0-api/1.0.0-api_System.Threading.Tasks.md)
* [System.Threading.Tasks.Dataflow](1.0.0-api/1.0.0-api_System.Threading.Tasks.Dataflow.md)
* [System.Windows.Input](1.0.0-api/1.0.0-api_System.Windows.Input.md)
* [System.Xml](1.0.0-api/1.0.0-api_System.Xml.md)
* [System.Xml.Linq](1.0.0-api/1.0.0-api_System.Xml.Linq.md)
* [System.Xml.Schema](1.0.0-api/1.0.0-api_System.Xml.Schema.md)
* [System.Xml.Serialization](1.0.0-api/1.0.0-api_System.Xml.Serialization.md)
* [System.Xml.XPath](1.0.0-api/1.0.0-api_System.Xml.XPath.md)

View File

@@ -1,54 +1,54 @@
# Microsoft.CSharp.RuntimeBinder
``` diff
+namespace Microsoft.CSharp.RuntimeBinder {
+ public static class Binder {
+ public static CallSiteBinder BinaryOperation(CSharpBinderFlags flags, ExpressionType operation, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder Convert(CSharpBinderFlags flags, Type type, Type context);
+ public static CallSiteBinder GetIndex(CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder GetMember(CSharpBinderFlags flags, string name, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder Invoke(CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder InvokeConstructor(CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder InvokeMember(CSharpBinderFlags flags, string name, IEnumerable<Type> typeArguments, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder IsEvent(CSharpBinderFlags flags, string name, Type context);
+ public static CallSiteBinder SetIndex(CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder SetMember(CSharpBinderFlags flags, string name, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder UnaryOperation(CSharpBinderFlags flags, ExpressionType operation, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ }
+ public sealed class CSharpArgumentInfo {
+ public static CSharpArgumentInfo Create(CSharpArgumentInfoFlags flags, string name);
+ }
+ public enum CSharpArgumentInfoFlags {
+ Constant = 2,
+ IsOut = 16,
+ IsRef = 8,
+ IsStaticType = 32,
+ NamedArgument = 4,
+ None = 0,
+ UseCompileTimeType = 1,
+ }
+ public enum CSharpBinderFlags {
+ BinaryOperationLogical = 8,
+ CheckedContext = 1,
+ ConvertArrayIndex = 32,
+ ConvertExplicit = 16,
+ InvokeSimpleName = 2,
+ InvokeSpecialName = 4,
+ None = 0,
+ ResultDiscarded = 256,
+ ResultIndexed = 64,
+ ValueFromCompoundAssignment = 128,
+ }
+ public class RuntimeBinderException : Exception {
+ public RuntimeBinderException();
+ public RuntimeBinderException(string message);
+ public RuntimeBinderException(string message, Exception innerException);
+ }
+ public class RuntimeBinderInternalCompilerException : Exception {
+ public RuntimeBinderInternalCompilerException();
+ public RuntimeBinderInternalCompilerException(string message);
+ public RuntimeBinderInternalCompilerException(string message, Exception innerException);
+ }
+}
```
# Microsoft.CSharp.RuntimeBinder
``` diff
+namespace Microsoft.CSharp.RuntimeBinder {
+ public static class Binder {
+ public static CallSiteBinder BinaryOperation(CSharpBinderFlags flags, ExpressionType operation, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder Convert(CSharpBinderFlags flags, Type type, Type context);
+ public static CallSiteBinder GetIndex(CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder GetMember(CSharpBinderFlags flags, string name, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder Invoke(CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder InvokeConstructor(CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder InvokeMember(CSharpBinderFlags flags, string name, IEnumerable<Type> typeArguments, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder IsEvent(CSharpBinderFlags flags, string name, Type context);
+ public static CallSiteBinder SetIndex(CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder SetMember(CSharpBinderFlags flags, string name, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ public static CallSiteBinder UnaryOperation(CSharpBinderFlags flags, ExpressionType operation, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo);
+ }
+ public sealed class CSharpArgumentInfo {
+ public static CSharpArgumentInfo Create(CSharpArgumentInfoFlags flags, string name);
+ }
+ public enum CSharpArgumentInfoFlags {
+ Constant = 2,
+ IsOut = 16,
+ IsRef = 8,
+ IsStaticType = 32,
+ NamedArgument = 4,
+ None = 0,
+ UseCompileTimeType = 1,
+ }
+ public enum CSharpBinderFlags {
+ BinaryOperationLogical = 8,
+ CheckedContext = 1,
+ ConvertArrayIndex = 32,
+ ConvertExplicit = 16,
+ InvokeSimpleName = 2,
+ InvokeSpecialName = 4,
+ None = 0,
+ ResultDiscarded = 256,
+ ResultIndexed = 64,
+ ValueFromCompoundAssignment = 128,
+ }
+ public class RuntimeBinderException : Exception {
+ public RuntimeBinderException();
+ public RuntimeBinderException(string message);
+ public RuntimeBinderException(string message, Exception innerException);
+ }
+ public class RuntimeBinderInternalCompilerException : Exception {
+ public RuntimeBinderInternalCompilerException();
+ public RuntimeBinderInternalCompilerException(string message);
+ public RuntimeBinderInternalCompilerException(string message, Exception innerException);
+ }
+}
```

View File

@@ -1,155 +1,155 @@
# Microsoft.SqlServer.Server
``` diff
+namespace Microsoft.SqlServer.Server {
+ public class SqlDataRecord {
+ public SqlDataRecord(params SqlMetaData[] metaData);
+ public virtual int FieldCount { get; }
+ public virtual object this[int ordinal] { get; }
+ public virtual object this[string name] { get; }
+ public virtual bool GetBoolean(int ordinal);
+ public virtual byte GetByte(int ordinal);
+ public virtual long GetBytes(int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length);
+ public virtual char GetChar(int ordinal);
+ public virtual long GetChars(int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length);
+ public virtual string GetDataTypeName(int ordinal);
+ public virtual DateTime GetDateTime(int ordinal);
+ public virtual DateTimeOffset GetDateTimeOffset(int ordinal);
+ public virtual Decimal GetDecimal(int ordinal);
+ public virtual double GetDouble(int ordinal);
+ public virtual Type GetFieldType(int ordinal);
+ public virtual float GetFloat(int ordinal);
+ public virtual Guid GetGuid(int ordinal);
+ public virtual short GetInt16(int ordinal);
+ public virtual int GetInt32(int ordinal);
+ public virtual long GetInt64(int ordinal);
+ public virtual string GetName(int ordinal);
+ public virtual int GetOrdinal(string name);
+ public virtual SqlBinary GetSqlBinary(int ordinal);
+ public virtual SqlBoolean GetSqlBoolean(int ordinal);
+ public virtual SqlByte GetSqlByte(int ordinal);
+ public virtual SqlBytes GetSqlBytes(int ordinal);
+ public virtual SqlChars GetSqlChars(int ordinal);
+ public virtual SqlDateTime GetSqlDateTime(int ordinal);
+ public virtual SqlDecimal GetSqlDecimal(int ordinal);
+ public virtual SqlDouble GetSqlDouble(int ordinal);
+ public virtual Type GetSqlFieldType(int ordinal);
+ public virtual SqlGuid GetSqlGuid(int ordinal);
+ public virtual SqlInt16 GetSqlInt16(int ordinal);
+ public virtual SqlInt32 GetSqlInt32(int ordinal);
+ public virtual SqlInt64 GetSqlInt64(int ordinal);
+ public virtual SqlMetaData GetSqlMetaData(int ordinal);
+ public virtual SqlMoney GetSqlMoney(int ordinal);
+ public virtual SqlSingle GetSqlSingle(int ordinal);
+ public virtual SqlString GetSqlString(int ordinal);
+ public virtual object GetSqlValue(int ordinal);
+ public virtual int GetSqlValues(object[] values);
+ public virtual SqlXml GetSqlXml(int ordinal);
+ public virtual string GetString(int ordinal);
+ public virtual TimeSpan GetTimeSpan(int ordinal);
+ public virtual object GetValue(int ordinal);
+ public virtual int GetValues(object[] values);
+ public virtual bool IsDBNull(int ordinal);
+ public virtual void SetBoolean(int ordinal, bool value);
+ public virtual void SetByte(int ordinal, byte value);
+ public virtual void SetBytes(int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length);
+ public virtual void SetChar(int ordinal, char value);
+ public virtual void SetChars(int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length);
+ public virtual void SetDateTime(int ordinal, DateTime value);
+ public virtual void SetDateTimeOffset(int ordinal, DateTimeOffset value);
+ public virtual void SetDBNull(int ordinal);
+ public virtual void SetDecimal(int ordinal, Decimal value);
+ public virtual void SetDouble(int ordinal, double value);
+ public virtual void SetFloat(int ordinal, float value);
+ public virtual void SetGuid(int ordinal, Guid value);
+ public virtual void SetInt16(int ordinal, short value);
+ public virtual void SetInt32(int ordinal, int value);
+ public virtual void SetInt64(int ordinal, long value);
+ public virtual void SetSqlBinary(int ordinal, SqlBinary value);
+ public virtual void SetSqlBoolean(int ordinal, SqlBoolean value);
+ public virtual void SetSqlByte(int ordinal, SqlByte value);
+ public virtual void SetSqlBytes(int ordinal, SqlBytes value);
+ public virtual void SetSqlChars(int ordinal, SqlChars value);
+ public virtual void SetSqlDateTime(int ordinal, SqlDateTime value);
+ public virtual void SetSqlDecimal(int ordinal, SqlDecimal value);
+ public virtual void SetSqlDouble(int ordinal, SqlDouble value);
+ public virtual void SetSqlGuid(int ordinal, SqlGuid value);
+ public virtual void SetSqlInt16(int ordinal, SqlInt16 value);
+ public virtual void SetSqlInt32(int ordinal, SqlInt32 value);
+ public virtual void SetSqlInt64(int ordinal, SqlInt64 value);
+ public virtual void SetSqlMoney(int ordinal, SqlMoney value);
+ public virtual void SetSqlSingle(int ordinal, SqlSingle value);
+ public virtual void SetSqlString(int ordinal, SqlString value);
+ public virtual void SetSqlXml(int ordinal, SqlXml value);
+ public virtual void SetString(int ordinal, string value);
+ public virtual void SetTimeSpan(int ordinal, TimeSpan value);
+ public virtual void SetValue(int ordinal, object value);
+ public virtual int SetValues(params object[] values);
+ }
+ public sealed class SqlMetaData {
+ public SqlMetaData(string name, SqlDbType dbType);
+ public SqlMetaData(string name, SqlDbType dbType, bool useServerDefault, bool isUniqueKey, SortOrder columnSortOrder, int sortOrdinal);
+ public SqlMetaData(string name, SqlDbType dbType, byte precision, byte scale);
+ public SqlMetaData(string name, SqlDbType dbType, byte precision, byte scale, bool useServerDefault, bool isUniqueKey, SortOrder columnSortOrder, int sortOrdinal);
+ public SqlMetaData(string name, SqlDbType dbType, long maxLength);
+ public SqlMetaData(string name, SqlDbType dbType, long maxLength, bool useServerDefault, bool isUniqueKey, SortOrder columnSortOrder, int sortOrdinal);
+ public SqlMetaData(string name, SqlDbType dbType, long maxLength, byte precision, byte scale, long locale, SqlCompareOptions compareOptions, Type userDefinedType);
+ public SqlMetaData(string name, SqlDbType dbType, long maxLength, byte precision, byte scale, long localeId, SqlCompareOptions compareOptions, Type userDefinedType, bool useServerDefault, bool isUniqueKey, SortOrder columnSortOrder, int sortOrdinal);
+ public SqlMetaData(string name, SqlDbType dbType, long maxLength, long locale, SqlCompareOptions compareOptions);
+ public SqlMetaData(string name, SqlDbType dbType, long maxLength, long locale, SqlCompareOptions compareOptions, bool useServerDefault, bool isUniqueKey, SortOrder columnSortOrder, int sortOrdinal);
+ public SqlMetaData(string name, SqlDbType dbType, string database, string owningSchema, string objectName);
+ public SqlMetaData(string name, SqlDbType dbType, string database, string owningSchema, string objectName, bool useServerDefault, bool isUniqueKey, SortOrder columnSortOrder, int sortOrdinal);
+ public SqlCompareOptions CompareOptions { get; }
+ public bool IsUniqueKey { get; }
+ public long LocaleId { get; }
+ public static long Max { get; }
+ public long MaxLength { get; }
+ public string Name { get; }
+ public byte Precision { get; }
+ public byte Scale { get; }
+ public SortOrder SortOrder { get; }
+ public int SortOrdinal { get; }
+ public SqlDbType SqlDbType { get; }
+ public string TypeName { get; }
+ public bool UseServerDefault { get; }
+ public string XmlSchemaCollectionDatabase { get; }
+ public string XmlSchemaCollectionName { get; }
+ public string XmlSchemaCollectionOwningSchema { get; }
+ public bool Adjust(bool value);
+ public byte Adjust(byte value);
+ public byte[] Adjust(byte[] value);
+ public char Adjust(char value);
+ public char[] Adjust(char[] value);
+ public SqlBinary Adjust(SqlBinary value);
+ public SqlBoolean Adjust(SqlBoolean value);
+ public SqlByte Adjust(SqlByte value);
+ public SqlBytes Adjust(SqlBytes value);
+ public SqlChars Adjust(SqlChars value);
+ public SqlDateTime Adjust(SqlDateTime value);
+ public SqlDecimal Adjust(SqlDecimal value);
+ public SqlDouble Adjust(SqlDouble value);
+ public SqlGuid Adjust(SqlGuid value);
+ public SqlInt16 Adjust(SqlInt16 value);
+ public SqlInt32 Adjust(SqlInt32 value);
+ public SqlInt64 Adjust(SqlInt64 value);
+ public SqlMoney Adjust(SqlMoney value);
+ public SqlSingle Adjust(SqlSingle value);
+ public SqlString Adjust(SqlString value);
+ public SqlXml Adjust(SqlXml value);
+ public DateTime Adjust(DateTime value);
+ public DateTimeOffset Adjust(DateTimeOffset value);
+ public Decimal Adjust(Decimal value);
+ public double Adjust(double value);
+ public Guid Adjust(Guid value);
+ public short Adjust(short value);
+ public int Adjust(int value);
+ public long Adjust(long value);
+ public object Adjust(object value);
+ public float Adjust(float value);
+ public string Adjust(string value);
+ public TimeSpan Adjust(TimeSpan value);
+ public static SqlMetaData InferFromValue(object value, string name);
+ }
+}
```
# Microsoft.SqlServer.Server
``` diff
+namespace Microsoft.SqlServer.Server {
+ public class SqlDataRecord {
+ public SqlDataRecord(params SqlMetaData[] metaData);
+ public virtual int FieldCount { get; }
+ public virtual object this[int ordinal] { get; }
+ public virtual object this[string name] { get; }
+ public virtual bool GetBoolean(int ordinal);
+ public virtual byte GetByte(int ordinal);
+ public virtual long GetBytes(int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length);
+ public virtual char GetChar(int ordinal);
+ public virtual long GetChars(int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length);
+ public virtual string GetDataTypeName(int ordinal);
+ public virtual DateTime GetDateTime(int ordinal);
+ public virtual DateTimeOffset GetDateTimeOffset(int ordinal);
+ public virtual Decimal GetDecimal(int ordinal);
+ public virtual double GetDouble(int ordinal);
+ public virtual Type GetFieldType(int ordinal);
+ public virtual float GetFloat(int ordinal);
+ public virtual Guid GetGuid(int ordinal);
+ public virtual short GetInt16(int ordinal);
+ public virtual int GetInt32(int ordinal);
+ public virtual long GetInt64(int ordinal);
+ public virtual string GetName(int ordinal);
+ public virtual int GetOrdinal(string name);
+ public virtual SqlBinary GetSqlBinary(int ordinal);
+ public virtual SqlBoolean GetSqlBoolean(int ordinal);
+ public virtual SqlByte GetSqlByte(int ordinal);
+ public virtual SqlBytes GetSqlBytes(int ordinal);
+ public virtual SqlChars GetSqlChars(int ordinal);
+ public virtual SqlDateTime GetSqlDateTime(int ordinal);
+ public virtual SqlDecimal GetSqlDecimal(int ordinal);
+ public virtual SqlDouble GetSqlDouble(int ordinal);
+ public virtual Type GetSqlFieldType(int ordinal);
+ public virtual SqlGuid GetSqlGuid(int ordinal);
+ public virtual SqlInt16 GetSqlInt16(int ordinal);
+ public virtual SqlInt32 GetSqlInt32(int ordinal);
+ public virtual SqlInt64 GetSqlInt64(int ordinal);
+ public virtual SqlMetaData GetSqlMetaData(int ordinal);
+ public virtual SqlMoney GetSqlMoney(int ordinal);
+ public virtual SqlSingle GetSqlSingle(int ordinal);
+ public virtual SqlString GetSqlString(int ordinal);
+ public virtual object GetSqlValue(int ordinal);
+ public virtual int GetSqlValues(object[] values);
+ public virtual SqlXml GetSqlXml(int ordinal);
+ public virtual string GetString(int ordinal);
+ public virtual TimeSpan GetTimeSpan(int ordinal);
+ public virtual object GetValue(int ordinal);
+ public virtual int GetValues(object[] values);
+ public virtual bool IsDBNull(int ordinal);
+ public virtual void SetBoolean(int ordinal, bool value);
+ public virtual void SetByte(int ordinal, byte value);
+ public virtual void SetBytes(int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length);
+ public virtual void SetChar(int ordinal, char value);
+ public virtual void SetChars(int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length);
+ public virtual void SetDateTime(int ordinal, DateTime value);
+ public virtual void SetDateTimeOffset(int ordinal, DateTimeOffset value);
+ public virtual void SetDBNull(int ordinal);
+ public virtual void SetDecimal(int ordinal, Decimal value);
+ public virtual void SetDouble(int ordinal, double value);
+ public virtual void SetFloat(int ordinal, float value);
+ public virtual void SetGuid(int ordinal, Guid value);
+ public virtual void SetInt16(int ordinal, short value);
+ public virtual void SetInt32(int ordinal, int value);
+ public virtual void SetInt64(int ordinal, long value);
+ public virtual void SetSqlBinary(int ordinal, SqlBinary value);
+ public virtual void SetSqlBoolean(int ordinal, SqlBoolean value);
+ public virtual void SetSqlByte(int ordinal, SqlByte value);
+ public virtual void SetSqlBytes(int ordinal, SqlBytes value);
+ public virtual void SetSqlChars(int ordinal, SqlChars value);
+ public virtual void SetSqlDateTime(int ordinal, SqlDateTime value);
+ public virtual void SetSqlDecimal(int ordinal, SqlDecimal value);
+ public virtual void SetSqlDouble(int ordinal, SqlDouble value);
+ public virtual void SetSqlGuid(int ordinal, SqlGuid value);
+ public virtual void SetSqlInt16(int ordinal, SqlInt16 value);
+ public virtual void SetSqlInt32(int ordinal, SqlInt32 value);
+ public virtual void SetSqlInt64(int ordinal, SqlInt64 value);
+ public virtual void SetSqlMoney(int ordinal, SqlMoney value);
+ public virtual void SetSqlSingle(int ordinal, SqlSingle value);
+ public virtual void SetSqlString(int ordinal, SqlString value);
+ public virtual void SetSqlXml(int ordinal, SqlXml value);
+ public virtual void SetString(int ordinal, string value);
+ public virtual void SetTimeSpan(int ordinal, TimeSpan value);
+ public virtual void SetValue(int ordinal, object value);
+ public virtual int SetValues(params object[] values);
+ }
+ public sealed class SqlMetaData {
+ public SqlMetaData(string name, SqlDbType dbType);
+ public SqlMetaData(string name, SqlDbType dbType, bool useServerDefault, bool isUniqueKey, SortOrder columnSortOrder, int sortOrdinal);
+ public SqlMetaData(string name, SqlDbType dbType, byte precision, byte scale);
+ public SqlMetaData(string name, SqlDbType dbType, byte precision, byte scale, bool useServerDefault, bool isUniqueKey, SortOrder columnSortOrder, int sortOrdinal);
+ public SqlMetaData(string name, SqlDbType dbType, long maxLength);
+ public SqlMetaData(string name, SqlDbType dbType, long maxLength, bool useServerDefault, bool isUniqueKey, SortOrder columnSortOrder, int sortOrdinal);
+ public SqlMetaData(string name, SqlDbType dbType, long maxLength, byte precision, byte scale, long locale, SqlCompareOptions compareOptions, Type userDefinedType);
+ public SqlMetaData(string name, SqlDbType dbType, long maxLength, byte precision, byte scale, long localeId, SqlCompareOptions compareOptions, Type userDefinedType, bool useServerDefault, bool isUniqueKey, SortOrder columnSortOrder, int sortOrdinal);
+ public SqlMetaData(string name, SqlDbType dbType, long maxLength, long locale, SqlCompareOptions compareOptions);
+ public SqlMetaData(string name, SqlDbType dbType, long maxLength, long locale, SqlCompareOptions compareOptions, bool useServerDefault, bool isUniqueKey, SortOrder columnSortOrder, int sortOrdinal);
+ public SqlMetaData(string name, SqlDbType dbType, string database, string owningSchema, string objectName);
+ public SqlMetaData(string name, SqlDbType dbType, string database, string owningSchema, string objectName, bool useServerDefault, bool isUniqueKey, SortOrder columnSortOrder, int sortOrdinal);
+ public SqlCompareOptions CompareOptions { get; }
+ public bool IsUniqueKey { get; }
+ public long LocaleId { get; }
+ public static long Max { get; }
+ public long MaxLength { get; }
+ public string Name { get; }
+ public byte Precision { get; }
+ public byte Scale { get; }
+ public SortOrder SortOrder { get; }
+ public int SortOrdinal { get; }
+ public SqlDbType SqlDbType { get; }
+ public string TypeName { get; }
+ public bool UseServerDefault { get; }
+ public string XmlSchemaCollectionDatabase { get; }
+ public string XmlSchemaCollectionName { get; }
+ public string XmlSchemaCollectionOwningSchema { get; }
+ public bool Adjust(bool value);
+ public byte Adjust(byte value);
+ public byte[] Adjust(byte[] value);
+ public char Adjust(char value);
+ public char[] Adjust(char[] value);
+ public SqlBinary Adjust(SqlBinary value);
+ public SqlBoolean Adjust(SqlBoolean value);
+ public SqlByte Adjust(SqlByte value);
+ public SqlBytes Adjust(SqlBytes value);
+ public SqlChars Adjust(SqlChars value);
+ public SqlDateTime Adjust(SqlDateTime value);
+ public SqlDecimal Adjust(SqlDecimal value);
+ public SqlDouble Adjust(SqlDouble value);
+ public SqlGuid Adjust(SqlGuid value);
+ public SqlInt16 Adjust(SqlInt16 value);
+ public SqlInt32 Adjust(SqlInt32 value);
+ public SqlInt64 Adjust(SqlInt64 value);
+ public SqlMoney Adjust(SqlMoney value);
+ public SqlSingle Adjust(SqlSingle value);
+ public SqlString Adjust(SqlString value);
+ public SqlXml Adjust(SqlXml value);
+ public DateTime Adjust(DateTime value);
+ public DateTimeOffset Adjust(DateTimeOffset value);
+ public Decimal Adjust(Decimal value);
+ public double Adjust(double value);
+ public Guid Adjust(Guid value);
+ public short Adjust(short value);
+ public int Adjust(int value);
+ public long Adjust(long value);
+ public object Adjust(object value);
+ public float Adjust(float value);
+ public string Adjust(string value);
+ public TimeSpan Adjust(TimeSpan value);
+ public static SqlMetaData InferFromValue(object value, string name);
+ }
+}
```

View File

@@ -1,133 +1,133 @@
# Microsoft.VisualBasic.CompilerServices
``` diff
+namespace Microsoft.VisualBasic.CompilerServices {
+ public sealed class Conversions {
+ public static object ChangeType(object Expression, Type TargetType);
+ public static bool ToBoolean(object Value);
+ public static bool ToBoolean(string Value);
+ public static byte ToByte(object Value);
+ public static byte ToByte(string Value);
+ public static char ToChar(object Value);
+ public static char ToChar(string Value);
+ public static char[] ToCharArrayRankOne(object Value);
+ public static char[] ToCharArrayRankOne(string Value);
+ public static DateTime ToDate(object Value);
+ public static DateTime ToDate(string Value);
+ public static Decimal ToDecimal(bool Value);
+ public static Decimal ToDecimal(object Value);
+ public static Decimal ToDecimal(string Value);
+ public static double ToDouble(object Value);
+ public static double ToDouble(string Value);
+ public static T ToGenericParameter<T>(object Value);
+ public static int ToInteger(object Value);
+ public static int ToInteger(string Value);
+ public static long ToLong(object Value);
+ public static long ToLong(string Value);
+ public static sbyte ToSByte(object Value);
+ public static sbyte ToSByte(string Value);
+ public static short ToShort(object Value);
+ public static short ToShort(string Value);
+ public static float ToSingle(object Value);
+ public static float ToSingle(string Value);
+ public static string ToString(bool Value);
+ public static string ToString(byte Value);
+ public static string ToString(char Value);
+ public static string ToString(DateTime Value);
+ public static string ToString(Decimal Value);
+ public static string ToString(double Value);
+ public static string ToString(short Value);
+ public static string ToString(int Value);
+ public static string ToString(long Value);
+ public static string ToString(object Value);
+ public static string ToString(float Value);
+ public static string ToString(uint Value);
+ public static string ToString(ulong Value);
+ public static uint ToUInteger(object Value);
+ public static uint ToUInteger(string Value);
+ public static ulong ToULong(object Value);
+ public static ulong ToULong(string Value);
+ public static ushort ToUShort(object Value);
+ public static ushort ToUShort(string Value);
+ }
+ public sealed class DesignerGeneratedAttribute : Attribute {
+ public DesignerGeneratedAttribute();
+ }
+ public sealed class IncompleteInitialization : Exception {
+ public IncompleteInitialization();
+ }
+ public sealed class NewLateBinding {
+ public static object LateCall(object Instance, Type Type, string MemberName, object[] Arguments, string[] ArgumentNames, Type[] TypeArguments, bool[] CopyBack, bool IgnoreReturn);
+ public static object LateGet(object Instance, Type Type, string MemberName, object[] Arguments, string[] ArgumentNames, Type[] TypeArguments, bool[] CopyBack);
+ public static object LateIndexGet(object Instance, object[] Arguments, string[] ArgumentNames);
+ public static void LateIndexSet(object Instance, object[] Arguments, string[] ArgumentNames);
+ public static void LateIndexSetComplex(object Instance, object[] Arguments, string[] ArgumentNames, bool OptimisticSet, bool RValueBase);
+ public static void LateSet(object Instance, Type Type, string MemberName, object[] Arguments, string[] ArgumentNames, Type[] TypeArguments);
+ public static void LateSet(object Instance, Type Type, string MemberName, object[] Arguments, string[] ArgumentNames, Type[] TypeArguments, bool OptimisticSet, bool RValueBase, CallType CallType);
+ public static void LateSetComplex(object Instance, Type Type, string MemberName, object[] Arguments, string[] ArgumentNames, Type[] TypeArguments, bool OptimisticSet, bool RValueBase);
+ }
+ public sealed class ObjectFlowControl {
+ public static void CheckForSyncLockOnValueType(object Expression);
+ public sealed class ForLoopControl {
+ public static bool ForLoopInitObj(object Counter, object Start, object Limit, object StepValue, ref object LoopForResult, ref object CounterResult);
+ public static bool ForNextCheckDec(Decimal count, Decimal limit, Decimal StepValue);
+ public static bool ForNextCheckObj(object Counter, object LoopObj, ref object CounterResult);
+ public static bool ForNextCheckR4(float count, float limit, float StepValue);
+ public static bool ForNextCheckR8(double count, double limit, double StepValue);
+ }
+ }
+ public sealed class Operators {
+ public static object AddObject(object Left, object Right);
+ public static object AndObject(object Left, object Right);
+ public static object CompareObjectEqual(object Left, object Right, bool TextCompare);
+ public static object CompareObjectGreater(object Left, object Right, bool TextCompare);
+ public static object CompareObjectGreaterEqual(object Left, object Right, bool TextCompare);
+ public static object CompareObjectLess(object Left, object Right, bool TextCompare);
+ public static object CompareObjectLessEqual(object Left, object Right, bool TextCompare);
+ public static object CompareObjectNotEqual(object Left, object Right, bool TextCompare);
+ public static int CompareString(string Left, string Right, bool TextCompare);
+ public static object ConcatenateObject(object Left, object Right);
+ public static bool ConditionalCompareObjectEqual(object Left, object Right, bool TextCompare);
+ public static bool ConditionalCompareObjectGreater(object Left, object Right, bool TextCompare);
+ public static bool ConditionalCompareObjectGreaterEqual(object Left, object Right, bool TextCompare);
+ public static bool ConditionalCompareObjectLess(object Left, object Right, bool TextCompare);
+ public static bool ConditionalCompareObjectLessEqual(object Left, object Right, bool TextCompare);
+ public static bool ConditionalCompareObjectNotEqual(object Left, object Right, bool TextCompare);
+ public static object DivideObject(object Left, object Right);
+ public static object ExponentObject(object Left, object Right);
+ public static object IntDivideObject(object Left, object Right);
+ public static object LeftShiftObject(object Operand, object Amount);
+ public static object ModObject(object Left, object Right);
+ public static object MultiplyObject(object Left, object Right);
+ public static object NegateObject(object Operand);
+ public static object NotObject(object Operand);
+ public static object OrObject(object Left, object Right);
+ public static object PlusObject(object Operand);
+ public static object RightShiftObject(object Operand, object Amount);
+ public static object SubtractObject(object Left, object Right);
+ public static object XorObject(object Left, object Right);
+ }
+ public sealed class OptionCompareAttribute : Attribute {
+ public OptionCompareAttribute();
+ }
+ public sealed class OptionTextAttribute : Attribute {
+ public OptionTextAttribute();
+ }
+ public sealed class ProjectData {
+ public static void ClearProjectError();
+ public static void SetProjectError(Exception ex);
+ public static void SetProjectError(Exception ex, int lErl);
+ }
+ public sealed class StandardModuleAttribute : Attribute {
+ public StandardModuleAttribute();
+ }
+ public sealed class StaticLocalInitFlag {
+ public short State;
+ public StaticLocalInitFlag();
+ }
+ public sealed class Utils {
+ public static Array CopyArray(Array arySrc, Array aryDest);
+ }
+}
```
# Microsoft.VisualBasic.CompilerServices
``` diff
+namespace Microsoft.VisualBasic.CompilerServices {
+ public sealed class Conversions {
+ public static object ChangeType(object Expression, Type TargetType);
+ public static bool ToBoolean(object Value);
+ public static bool ToBoolean(string Value);
+ public static byte ToByte(object Value);
+ public static byte ToByte(string Value);
+ public static char ToChar(object Value);
+ public static char ToChar(string Value);
+ public static char[] ToCharArrayRankOne(object Value);
+ public static char[] ToCharArrayRankOne(string Value);
+ public static DateTime ToDate(object Value);
+ public static DateTime ToDate(string Value);
+ public static Decimal ToDecimal(bool Value);
+ public static Decimal ToDecimal(object Value);
+ public static Decimal ToDecimal(string Value);
+ public static double ToDouble(object Value);
+ public static double ToDouble(string Value);
+ public static T ToGenericParameter<T>(object Value);
+ public static int ToInteger(object Value);
+ public static int ToInteger(string Value);
+ public static long ToLong(object Value);
+ public static long ToLong(string Value);
+ public static sbyte ToSByte(object Value);
+ public static sbyte ToSByte(string Value);
+ public static short ToShort(object Value);
+ public static short ToShort(string Value);
+ public static float ToSingle(object Value);
+ public static float ToSingle(string Value);
+ public static string ToString(bool Value);
+ public static string ToString(byte Value);
+ public static string ToString(char Value);
+ public static string ToString(DateTime Value);
+ public static string ToString(Decimal Value);
+ public static string ToString(double Value);
+ public static string ToString(short Value);
+ public static string ToString(int Value);
+ public static string ToString(long Value);
+ public static string ToString(object Value);
+ public static string ToString(float Value);
+ public static string ToString(uint Value);
+ public static string ToString(ulong Value);
+ public static uint ToUInteger(object Value);
+ public static uint ToUInteger(string Value);
+ public static ulong ToULong(object Value);
+ public static ulong ToULong(string Value);
+ public static ushort ToUShort(object Value);
+ public static ushort ToUShort(string Value);
+ }
+ public sealed class DesignerGeneratedAttribute : Attribute {
+ public DesignerGeneratedAttribute();
+ }
+ public sealed class IncompleteInitialization : Exception {
+ public IncompleteInitialization();
+ }
+ public sealed class NewLateBinding {
+ public static object LateCall(object Instance, Type Type, string MemberName, object[] Arguments, string[] ArgumentNames, Type[] TypeArguments, bool[] CopyBack, bool IgnoreReturn);
+ public static object LateGet(object Instance, Type Type, string MemberName, object[] Arguments, string[] ArgumentNames, Type[] TypeArguments, bool[] CopyBack);
+ public static object LateIndexGet(object Instance, object[] Arguments, string[] ArgumentNames);
+ public static void LateIndexSet(object Instance, object[] Arguments, string[] ArgumentNames);
+ public static void LateIndexSetComplex(object Instance, object[] Arguments, string[] ArgumentNames, bool OptimisticSet, bool RValueBase);
+ public static void LateSet(object Instance, Type Type, string MemberName, object[] Arguments, string[] ArgumentNames, Type[] TypeArguments);
+ public static void LateSet(object Instance, Type Type, string MemberName, object[] Arguments, string[] ArgumentNames, Type[] TypeArguments, bool OptimisticSet, bool RValueBase, CallType CallType);
+ public static void LateSetComplex(object Instance, Type Type, string MemberName, object[] Arguments, string[] ArgumentNames, Type[] TypeArguments, bool OptimisticSet, bool RValueBase);
+ }
+ public sealed class ObjectFlowControl {
+ public static void CheckForSyncLockOnValueType(object Expression);
+ public sealed class ForLoopControl {
+ public static bool ForLoopInitObj(object Counter, object Start, object Limit, object StepValue, ref object LoopForResult, ref object CounterResult);
+ public static bool ForNextCheckDec(Decimal count, Decimal limit, Decimal StepValue);
+ public static bool ForNextCheckObj(object Counter, object LoopObj, ref object CounterResult);
+ public static bool ForNextCheckR4(float count, float limit, float StepValue);
+ public static bool ForNextCheckR8(double count, double limit, double StepValue);
+ }
+ }
+ public sealed class Operators {
+ public static object AddObject(object Left, object Right);
+ public static object AndObject(object Left, object Right);
+ public static object CompareObjectEqual(object Left, object Right, bool TextCompare);
+ public static object CompareObjectGreater(object Left, object Right, bool TextCompare);
+ public static object CompareObjectGreaterEqual(object Left, object Right, bool TextCompare);
+ public static object CompareObjectLess(object Left, object Right, bool TextCompare);
+ public static object CompareObjectLessEqual(object Left, object Right, bool TextCompare);
+ public static object CompareObjectNotEqual(object Left, object Right, bool TextCompare);
+ public static int CompareString(string Left, string Right, bool TextCompare);
+ public static object ConcatenateObject(object Left, object Right);
+ public static bool ConditionalCompareObjectEqual(object Left, object Right, bool TextCompare);
+ public static bool ConditionalCompareObjectGreater(object Left, object Right, bool TextCompare);
+ public static bool ConditionalCompareObjectGreaterEqual(object Left, object Right, bool TextCompare);
+ public static bool ConditionalCompareObjectLess(object Left, object Right, bool TextCompare);
+ public static bool ConditionalCompareObjectLessEqual(object Left, object Right, bool TextCompare);
+ public static bool ConditionalCompareObjectNotEqual(object Left, object Right, bool TextCompare);
+ public static object DivideObject(object Left, object Right);
+ public static object ExponentObject(object Left, object Right);
+ public static object IntDivideObject(object Left, object Right);
+ public static object LeftShiftObject(object Operand, object Amount);
+ public static object ModObject(object Left, object Right);
+ public static object MultiplyObject(object Left, object Right);
+ public static object NegateObject(object Operand);
+ public static object NotObject(object Operand);
+ public static object OrObject(object Left, object Right);
+ public static object PlusObject(object Operand);
+ public static object RightShiftObject(object Operand, object Amount);
+ public static object SubtractObject(object Left, object Right);
+ public static object XorObject(object Left, object Right);
+ }
+ public sealed class OptionCompareAttribute : Attribute {
+ public OptionCompareAttribute();
+ }
+ public sealed class OptionTextAttribute : Attribute {
+ public OptionTextAttribute();
+ }
+ public sealed class ProjectData {
+ public static void ClearProjectError();
+ public static void SetProjectError(Exception ex);
+ public static void SetProjectError(Exception ex, int lErl);
+ }
+ public sealed class StandardModuleAttribute : Attribute {
+ public StandardModuleAttribute();
+ }
+ public sealed class StaticLocalInitFlag {
+ public short State;
+ public StaticLocalInitFlag();
+ }
+ public sealed class Utils {
+ public static Array CopyArray(Array arySrc, Array aryDest);
+ }
+}
```

View File

@@ -1,33 +1,33 @@
# Microsoft.VisualBasic
``` diff
+namespace Microsoft.VisualBasic {
+ public enum CallType {
+ Get = 2,
+ Let = 4,
+ Method = 1,
+ Set = 8,
+ }
+ public sealed class Constants {
+ public const string vbBack = "\b";
+ public const string vbCr = "\r";
+ public const string vbCrLf = "\r\n";
+ public const string vbFormFeed = "\f";
+ public const string vbLf = "\n";
+ public const string vbNewLine = "\r\n";
+ public const string vbNullChar = "\0";
+ public const string vbNullString = null;
+ public const string vbTab = "\t";
+ public const string vbVerticalTab = "\v";
+ }
+ public sealed class HideModuleNameAttribute : Attribute {
+ public HideModuleNameAttribute();
+ }
+ public sealed class Strings {
+ public static int AscW(char String);
+ public static int AscW(string String);
+ public static char ChrW(int CharCode);
+ }
+}
```
# Microsoft.VisualBasic
``` diff
+namespace Microsoft.VisualBasic {
+ public enum CallType {
+ Get = 2,
+ Let = 4,
+ Method = 1,
+ Set = 8,
+ }
+ public sealed class Constants {
+ public const string vbBack = "\b";
+ public const string vbCr = "\r";
+ public const string vbCrLf = "\r\n";
+ public const string vbFormFeed = "\f";
+ public const string vbLf = "\n";
+ public const string vbNewLine = "\r\n";
+ public const string vbNullChar = "\0";
+ public const string vbNullString = null;
+ public const string vbTab = "\t";
+ public const string vbVerticalTab = "\v";
+ }
+ public sealed class HideModuleNameAttribute : Attribute {
+ public HideModuleNameAttribute();
+ }
+ public sealed class Strings {
+ public static int AscW(char String);
+ public static int AscW(string String);
+ public static char ChrW(int CharCode);
+ }
+}
```

View File

@@ -1,70 +1,70 @@
# Microsoft.Win32.SafeHandles
``` diff
+namespace Microsoft.Win32.SafeHandles {
+ public sealed class SafeAccessTokenHandle : SafeHandle {
+ public SafeAccessTokenHandle(IntPtr handle);
+ public static SafeAccessTokenHandle InvalidHandle { get; }
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+ public sealed class SafeFileHandle : SafeHandle {
+ public SafeFileHandle(IntPtr preexistingHandle, bool ownsHandle);
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+ public abstract class SafeHandleZeroOrMinusOneIsInvalid : SafeHandle {
+ public override bool IsInvalid { get; }
+ }
+ public sealed class SafeMemoryMappedFileHandle : SafeHandle {
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+ public sealed class SafeMemoryMappedViewHandle : SafeBuffer {
+ protected override bool ReleaseHandle();
+ }
+ public abstract class SafeNCryptHandle : SafeHandle {
+ protected SafeNCryptHandle();
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ protected abstract bool ReleaseNativeHandle();
+ }
+ public sealed class SafeNCryptKeyHandle : SafeNCryptHandle {
+ public SafeNCryptKeyHandle();
+ protected override bool ReleaseNativeHandle();
+ }
+ public sealed class SafeNCryptProviderHandle : SafeNCryptHandle {
+ public SafeNCryptProviderHandle();
+ protected override bool ReleaseNativeHandle();
+ }
+ public sealed class SafeNCryptSecretHandle : SafeNCryptHandle {
+ public SafeNCryptSecretHandle();
+ protected override bool ReleaseNativeHandle();
+ }
+ public sealed class SafePipeHandle : SafeHandle {
+ public SafePipeHandle(IntPtr preexistingHandle, bool ownsHandle);
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+ public sealed class SafeProcessHandle : SafeHandle {
+ public SafeProcessHandle(IntPtr existingHandle, bool ownsHandle);
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+ public sealed class SafeRegistryHandle : SafeHandle {
+ public SafeRegistryHandle(IntPtr preexistingHandle, bool ownsHandle);
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+ public sealed class SafeWaitHandle : SafeHandle {
+ public SafeWaitHandle(IntPtr existingHandle, bool ownsHandle);
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+ public sealed class SafeX509ChainHandle : SafeHandle {
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+}
```
# Microsoft.Win32.SafeHandles
``` diff
+namespace Microsoft.Win32.SafeHandles {
+ public sealed class SafeAccessTokenHandle : SafeHandle {
+ public SafeAccessTokenHandle(IntPtr handle);
+ public static SafeAccessTokenHandle InvalidHandle { get; }
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+ public sealed class SafeFileHandle : SafeHandle {
+ public SafeFileHandle(IntPtr preexistingHandle, bool ownsHandle);
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+ public abstract class SafeHandleZeroOrMinusOneIsInvalid : SafeHandle {
+ public override bool IsInvalid { get; }
+ }
+ public sealed class SafeMemoryMappedFileHandle : SafeHandle {
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+ public sealed class SafeMemoryMappedViewHandle : SafeBuffer {
+ protected override bool ReleaseHandle();
+ }
+ public abstract class SafeNCryptHandle : SafeHandle {
+ protected SafeNCryptHandle();
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ protected abstract bool ReleaseNativeHandle();
+ }
+ public sealed class SafeNCryptKeyHandle : SafeNCryptHandle {
+ public SafeNCryptKeyHandle();
+ protected override bool ReleaseNativeHandle();
+ }
+ public sealed class SafeNCryptProviderHandle : SafeNCryptHandle {
+ public SafeNCryptProviderHandle();
+ protected override bool ReleaseNativeHandle();
+ }
+ public sealed class SafeNCryptSecretHandle : SafeNCryptHandle {
+ public SafeNCryptSecretHandle();
+ protected override bool ReleaseNativeHandle();
+ }
+ public sealed class SafePipeHandle : SafeHandle {
+ public SafePipeHandle(IntPtr preexistingHandle, bool ownsHandle);
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+ public sealed class SafeProcessHandle : SafeHandle {
+ public SafeProcessHandle(IntPtr existingHandle, bool ownsHandle);
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+ public sealed class SafeRegistryHandle : SafeHandle {
+ public SafeRegistryHandle(IntPtr preexistingHandle, bool ownsHandle);
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+ public sealed class SafeWaitHandle : SafeHandle {
+ public SafeWaitHandle(IntPtr existingHandle, bool ownsHandle);
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+ public sealed class SafeX509ChainHandle : SafeHandle {
+ public override bool IsInvalid { get; }
+ protected override bool ReleaseHandle();
+ }
+}
```

View File

@@ -1,87 +1,87 @@
# Microsoft.Win32
``` diff
+namespace Microsoft.Win32 {
+ public static class Registry {
+ public static readonly RegistryKey ClassesRoot;
+ public static readonly RegistryKey CurrentConfig;
+ public static readonly RegistryKey CurrentUser;
+ public static readonly RegistryKey LocalMachine;
+ public static readonly RegistryKey PerformanceData;
+ public static readonly RegistryKey Users;
+ public static object GetValue(string keyName, string valueName, object defaultValue);
+ public static void SetValue(string keyName, string valueName, object value);
+ public static void SetValue(string keyName, string valueName, object value, RegistryValueKind valueKind);
+ }
+ public static class RegistryAclExtensions {
+ public static RegistrySecurity GetAccessControl(this RegistryKey key);
+ public static RegistrySecurity GetAccessControl(this RegistryKey key, AccessControlSections includeSections);
+ public static void SetAccessControl(this RegistryKey key, RegistrySecurity registrySecurity);
+ }
+ public enum RegistryHive {
+ ClassesRoot = -2147483648,
+ CurrentConfig = -2147483643,
+ CurrentUser = -2147483647,
+ LocalMachine = -2147483646,
+ PerformanceData = -2147483644,
+ Users = -2147483645,
+ }
+ public sealed class RegistryKey : IDisposable {
+ public SafeRegistryHandle Handle { get; }
+ public string Name { get; }
+ public int SubKeyCount { get; }
+ public int ValueCount { get; }
+ public RegistryView View { get; }
+ public RegistryKey CreateSubKey(string subkey);
+ public RegistryKey CreateSubKey(string subkey, bool writable);
+ public RegistryKey CreateSubKey(string subkey, bool writable, RegistryOptions options);
+ public void DeleteSubKey(string subkey);
+ public void DeleteSubKey(string subkey, bool throwOnMissingSubKey);
+ public void DeleteSubKeyTree(string subkey);
+ public void DeleteSubKeyTree(string subkey, bool throwOnMissingSubKey);
+ public void DeleteValue(string name);
+ public void DeleteValue(string name, bool throwOnMissingValue);
+ public void Dispose();
+ public void Flush();
+ public static RegistryKey FromHandle(SafeRegistryHandle handle);
+ public static RegistryKey FromHandle(SafeRegistryHandle handle, RegistryView view);
+ public string[] GetSubKeyNames();
+ public object GetValue(string name);
+ public object GetValue(string name, object defaultValue);
+ public object GetValue(string name, object defaultValue, RegistryValueOptions options);
+ public RegistryValueKind GetValueKind(string name);
+ public string[] GetValueNames();
+ public static RegistryKey OpenBaseKey(RegistryHive hKey, RegistryView view);
+ public RegistryKey OpenSubKey(string name);
+ public RegistryKey OpenSubKey(string name, bool writable);
+ public RegistryKey OpenSubKey(string name, RegistryRights rights);
+ public void SetValue(string name, object value);
+ public void SetValue(string name, object value, RegistryValueKind valueKind);
+ public override string ToString();
+ }
+ public enum RegistryOptions {
+ None = 0,
+ Volatile = 1,
+ }
+ public enum RegistryValueKind {
+ Binary = 3,
+ DWord = 4,
+ ExpandString = 2,
+ MultiString = 7,
+ None = -1,
+ QWord = 11,
+ String = 1,
+ Unknown = 0,
+ }
+ public enum RegistryValueOptions {
+ DoNotExpandEnvironmentNames = 1,
+ None = 0,
+ }
+ public enum RegistryView {
+ Default = 0,
+ Registry32 = 512,
+ Registry64 = 256,
+ }
+}
```
# Microsoft.Win32
``` diff
+namespace Microsoft.Win32 {
+ public static class Registry {
+ public static readonly RegistryKey ClassesRoot;
+ public static readonly RegistryKey CurrentConfig;
+ public static readonly RegistryKey CurrentUser;
+ public static readonly RegistryKey LocalMachine;
+ public static readonly RegistryKey PerformanceData;
+ public static readonly RegistryKey Users;
+ public static object GetValue(string keyName, string valueName, object defaultValue);
+ public static void SetValue(string keyName, string valueName, object value);
+ public static void SetValue(string keyName, string valueName, object value, RegistryValueKind valueKind);
+ }
+ public static class RegistryAclExtensions {
+ public static RegistrySecurity GetAccessControl(this RegistryKey key);
+ public static RegistrySecurity GetAccessControl(this RegistryKey key, AccessControlSections includeSections);
+ public static void SetAccessControl(this RegistryKey key, RegistrySecurity registrySecurity);
+ }
+ public enum RegistryHive {
+ ClassesRoot = -2147483648,
+ CurrentConfig = -2147483643,
+ CurrentUser = -2147483647,
+ LocalMachine = -2147483646,
+ PerformanceData = -2147483644,
+ Users = -2147483645,
+ }
+ public sealed class RegistryKey : IDisposable {
+ public SafeRegistryHandle Handle { get; }
+ public string Name { get; }
+ public int SubKeyCount { get; }
+ public int ValueCount { get; }
+ public RegistryView View { get; }
+ public RegistryKey CreateSubKey(string subkey);
+ public RegistryKey CreateSubKey(string subkey, bool writable);
+ public RegistryKey CreateSubKey(string subkey, bool writable, RegistryOptions options);
+ public void DeleteSubKey(string subkey);
+ public void DeleteSubKey(string subkey, bool throwOnMissingSubKey);
+ public void DeleteSubKeyTree(string subkey);
+ public void DeleteSubKeyTree(string subkey, bool throwOnMissingSubKey);
+ public void DeleteValue(string name);
+ public void DeleteValue(string name, bool throwOnMissingValue);
+ public void Dispose();
+ public void Flush();
+ public static RegistryKey FromHandle(SafeRegistryHandle handle);
+ public static RegistryKey FromHandle(SafeRegistryHandle handle, RegistryView view);
+ public string[] GetSubKeyNames();
+ public object GetValue(string name);
+ public object GetValue(string name, object defaultValue);
+ public object GetValue(string name, object defaultValue, RegistryValueOptions options);
+ public RegistryValueKind GetValueKind(string name);
+ public string[] GetValueNames();
+ public static RegistryKey OpenBaseKey(RegistryHive hKey, RegistryView view);
+ public RegistryKey OpenSubKey(string name);
+ public RegistryKey OpenSubKey(string name, bool writable);
+ public RegistryKey OpenSubKey(string name, RegistryRights rights);
+ public void SetValue(string name, object value);
+ public void SetValue(string name, object value, RegistryValueKind valueKind);
+ public override string ToString();
+ }
+ public enum RegistryOptions {
+ None = 0,
+ Volatile = 1,
+ }
+ public enum RegistryValueKind {
+ Binary = 3,
+ DWord = 4,
+ ExpandString = 2,
+ MultiString = 7,
+ None = -1,
+ QWord = 11,
+ String = 1,
+ Unknown = 0,
+ }
+ public enum RegistryValueOptions {
+ DoNotExpandEnvironmentNames = 1,
+ None = 0,
+ }
+ public enum RegistryView {
+ Default = 0,
+ Registry32 = 512,
+ Registry64 = 256,
+ }
+}
```

View File

@@ -1,15 +1,15 @@
# System.Buffers
``` diff
+namespace System.Buffers {
+ public abstract class ArrayPool<T> {
+ protected ArrayPool();
+ public static ArrayPool<T> Shared { [MethodImpl(AggressiveInlining)]get; }
+ public static ArrayPool<T> Create();
+ public static ArrayPool<T> Create(int maxArrayLength, int maxArraysPerBucket);
+ public abstract T[] Rent(int minimumLength);
+ public abstract void Return(T[] array, bool clearArray=false);
+ }
+}
```
# System.Buffers
``` diff
+namespace System.Buffers {
+ public abstract class ArrayPool<T> {
+ protected ArrayPool();
+ public static ArrayPool<T> Shared { [MethodImpl(AggressiveInlining)]get; }
+ public static ArrayPool<T> Create();
+ public static ArrayPool<T> Create(int maxArrayLength, int maxArraysPerBucket);
+ public abstract T[] Rent(int minimumLength);
+ public abstract void Return(T[] array, bool clearArray=false);
+ }
+}
```

View File

@@ -1,12 +1,12 @@
# System.CodeDom.Compiler
``` diff
+namespace System.CodeDom.Compiler {
+ public sealed class GeneratedCodeAttribute : Attribute {
+ public GeneratedCodeAttribute(string tool, string version);
+ public string Tool { get; }
+ public string Version { get; }
+ }
+}
```
# System.CodeDom.Compiler
``` diff
+namespace System.CodeDom.Compiler {
+ public sealed class GeneratedCodeAttribute : Attribute {
+ public GeneratedCodeAttribute(string tool, string version);
+ public string Tool { get; }
+ public string Version { get; }
+ }
+}
```

View File

@@ -1,195 +1,195 @@
# System.Collections.Concurrent
``` diff
+namespace System.Collections.Concurrent {
+ public class BlockingCollection<T> : ICollection, IDisposable, IEnumerable, IEnumerable<T>, IReadOnlyCollection<T> {
+ public BlockingCollection();
+ public BlockingCollection(IProducerConsumerCollection<T> collection);
+ public BlockingCollection(IProducerConsumerCollection<T> collection, int boundedCapacity);
+ public BlockingCollection(int boundedCapacity);
+ public int BoundedCapacity { get; }
+ public int Count { get; }
+ public bool IsAddingCompleted { get; }
+ public bool IsCompleted { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public void Add(T item);
+ public void Add(T item, CancellationToken cancellationToken);
+ public static int AddToAny(BlockingCollection<T>[] collections, T item);
+ public static int AddToAny(BlockingCollection<T>[] collections, T item, CancellationToken cancellationToken);
+ public void CompleteAdding();
+ public void CopyTo(T[] array, int index);
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public IEnumerable<T> GetConsumingEnumerable();
+ public IEnumerable<T> GetConsumingEnumerable(CancellationToken cancellationToken);
+ IEnumerator<T> System.Collections.Generic.IEnumerable<T>.GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public T Take();
+ public T Take(CancellationToken cancellationToken);
+ public static int TakeFromAny(BlockingCollection<T>[] collections, out T item);
+ public static int TakeFromAny(BlockingCollection<T>[] collections, out T item, CancellationToken cancellationToken);
+ public T[] ToArray();
+ public bool TryAdd(T item);
+ public bool TryAdd(T item, int millisecondsTimeout);
+ public bool TryAdd(T item, int millisecondsTimeout, CancellationToken cancellationToken);
+ public bool TryAdd(T item, TimeSpan timeout);
+ public static int TryAddToAny(BlockingCollection<T>[] collections, T item);
+ public static int TryAddToAny(BlockingCollection<T>[] collections, T item, int millisecondsTimeout);
+ public static int TryAddToAny(BlockingCollection<T>[] collections, T item, int millisecondsTimeout, CancellationToken cancellationToken);
+ public static int TryAddToAny(BlockingCollection<T>[] collections, T item, TimeSpan timeout);
+ public bool TryTake(out T item);
+ public bool TryTake(out T item, int millisecondsTimeout);
+ public bool TryTake(out T item, int millisecondsTimeout, CancellationToken cancellationToken);
+ public bool TryTake(out T item, TimeSpan timeout);
+ public static int TryTakeFromAny(BlockingCollection<T>[] collections, out T item);
+ public static int TryTakeFromAny(BlockingCollection<T>[] collections, out T item, int millisecondsTimeout);
+ public static int TryTakeFromAny(BlockingCollection<T>[] collections, out T item, int millisecondsTimeout, CancellationToken cancellationToken);
+ public static int TryTakeFromAny(BlockingCollection<T>[] collections, out T item, TimeSpan timeout);
+ }
+ public class ConcurrentBag<T> : ICollection, IEnumerable, IEnumerable<T>, IProducerConsumerCollection<T>, IReadOnlyCollection<T> {
+ public ConcurrentBag();
+ public ConcurrentBag(IEnumerable<T> collection);
+ public int Count { get; }
+ public bool IsEmpty { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public void Add(T item);
+ public void CopyTo(T[] array, int index);
+ public IEnumerator<T> GetEnumerator();
+ bool System.Collections.Concurrent.IProducerConsumerCollection<T>.TryAdd(T item);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public T[] ToArray();
+ public bool TryPeek(out T result);
+ public bool TryTake(out T result);
+ }
+ public class ConcurrentDictionary<TKey, TValue> : ICollection, ICollection<KeyValuePair<TKey, TValue>>, IDictionary, IDictionary<TKey, TValue>, IEnumerable, IEnumerable<KeyValuePair<TKey, TValue>>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IReadOnlyDictionary<TKey, TValue> {
+ public ConcurrentDictionary();
+ public ConcurrentDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection);
+ public ConcurrentDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey> comparer);
+ public ConcurrentDictionary(IEqualityComparer<TKey> comparer);
+ public ConcurrentDictionary(int concurrencyLevel, IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey> comparer);
+ public ConcurrentDictionary(int concurrencyLevel, int capacity);
+ public ConcurrentDictionary(int concurrencyLevel, int capacity, IEqualityComparer<TKey> comparer);
+ public int Count { get; }
+ public bool IsEmpty { get; }
+ public ICollection<TKey> Keys { get; }
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.IsReadOnly { get; }
+ IEnumerable<TKey> System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>.Keys { get; }
+ IEnumerable<TValue> System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>.Values { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IDictionary.IsFixedSize { get; }
+ bool System.Collections.IDictionary.IsReadOnly { get; }
+ object System.Collections.IDictionary.this[object key] { get; set; }
+ ICollection System.Collections.IDictionary.Keys { get; }
+ ICollection System.Collections.IDictionary.Values { get; }
+ public TValue this[TKey key] { get; set; }
+ public ICollection<TValue> Values { get; }
+ public TValue AddOrUpdate(TKey key, Func<TKey, TValue> addValueFactory, Func<TKey, TValue, TValue> updateValueFactory);
+ public TValue AddOrUpdate(TKey key, TValue addValue, Func<TKey, TValue, TValue> updateValueFactory);
+ public void Clear();
+ public bool ContainsKey(TKey key);
+ public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator();
+ public TValue GetOrAdd(TKey key, Func<TKey, TValue> valueFactory);
+ public TValue GetOrAdd(TKey key, TValue value);
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Add(KeyValuePair<TKey, TValue> keyValuePair);
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Contains(KeyValuePair<TKey, TValue> keyValuePair);
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CopyTo(KeyValuePair<TKey, TValue>[] array, int index);
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Remove(KeyValuePair<TKey, TValue> keyValuePair);
+ void System.Collections.Generic.IDictionary<TKey,TValue>.Add(TKey key, TValue value);
+ bool System.Collections.Generic.IDictionary<TKey,TValue>.Remove(TKey key);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ void System.Collections.IDictionary.Add(object key, object value);
+ bool System.Collections.IDictionary.Contains(object key);
+ IDictionaryEnumerator System.Collections.IDictionary.GetEnumerator();
+ void System.Collections.IDictionary.Remove(object key);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public KeyValuePair<TKey, TValue>[] ToArray();
+ public bool TryAdd(TKey key, TValue value);
+ public bool TryGetValue(TKey key, out TValue value);
+ public bool TryRemove(TKey key, out TValue value);
+ public bool TryUpdate(TKey key, TValue newValue, TValue comparisonValue);
+ }
+ public class ConcurrentQueue<T> : ICollection, IEnumerable, IEnumerable<T>, IProducerConsumerCollection<T>, IReadOnlyCollection<T> {
+ public ConcurrentQueue();
+ public ConcurrentQueue(IEnumerable<T> collection);
+ public int Count { get; }
+ public bool IsEmpty { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public void CopyTo(T[] array, int index);
+ public void Enqueue(T item);
+ public IEnumerator<T> GetEnumerator();
+ bool System.Collections.Concurrent.IProducerConsumerCollection<T>.TryAdd(T item);
+ bool System.Collections.Concurrent.IProducerConsumerCollection<T>.TryTake(out T item);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public T[] ToArray();
+ public bool TryDequeue(out T result);
+ public bool TryPeek(out T result);
+ }
+ public class ConcurrentStack<T> : ICollection, IEnumerable, IEnumerable<T>, IProducerConsumerCollection<T>, IReadOnlyCollection<T> {
+ public ConcurrentStack();
+ public ConcurrentStack(IEnumerable<T> collection);
+ public int Count { get; }
+ public bool IsEmpty { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public void Clear();
+ public void CopyTo(T[] array, int index);
+ public IEnumerator<T> GetEnumerator();
+ public void Push(T item);
+ public void PushRange(T[] items);
+ public void PushRange(T[] items, int startIndex, int count);
+ bool System.Collections.Concurrent.IProducerConsumerCollection<T>.TryAdd(T item);
+ bool System.Collections.Concurrent.IProducerConsumerCollection<T>.TryTake(out T item);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public T[] ToArray();
+ public bool TryPeek(out T result);
+ public bool TryPop(out T result);
+ public int TryPopRange(T[] items);
+ public int TryPopRange(T[] items, int startIndex, int count);
+ }
+ public enum EnumerablePartitionerOptions {
+ NoBuffering = 1,
+ None = 0,
+ }
+ public interface IProducerConsumerCollection<T> : ICollection, IEnumerable, IEnumerable<T> {
+ void CopyTo(T[] array, int index);
+ T[] ToArray();
+ bool TryAdd(T item);
+ bool TryTake(out T item);
+ }
+ public abstract class OrderablePartitioner<TSource> : Partitioner<TSource> {
+ protected OrderablePartitioner(bool keysOrderedInEachPartition, bool keysOrderedAcrossPartitions, bool keysNormalized);
+ public bool KeysNormalized { get; }
+ public bool KeysOrderedAcrossPartitions { get; }
+ public bool KeysOrderedInEachPartition { get; }
+ public override IEnumerable<TSource> GetDynamicPartitions();
+ public virtual IEnumerable<KeyValuePair<long, TSource>> GetOrderableDynamicPartitions();
+ public abstract IList<IEnumerator<KeyValuePair<long, TSource>>> GetOrderablePartitions(int partitionCount);
+ public override IList<IEnumerator<TSource>> GetPartitions(int partitionCount);
+ }
+ public static class Partitioner {
+ public static OrderablePartitioner<Tuple<int, int>> Create(int fromInclusive, int toExclusive);
+ public static OrderablePartitioner<Tuple<int, int>> Create(int fromInclusive, int toExclusive, int rangeSize);
+ public static OrderablePartitioner<Tuple<long, long>> Create(long fromInclusive, long toExclusive);
+ public static OrderablePartitioner<Tuple<long, long>> Create(long fromInclusive, long toExclusive, long rangeSize);
+ public static OrderablePartitioner<TSource> Create<TSource>(IEnumerable<TSource> source);
+ public static OrderablePartitioner<TSource> Create<TSource>(IEnumerable<TSource> source, EnumerablePartitionerOptions partitionerOptions);
+ public static OrderablePartitioner<TSource> Create<TSource>(IList<TSource> list, bool loadBalance);
+ public static OrderablePartitioner<TSource> Create<TSource>(TSource[] array, bool loadBalance);
+ }
+ public abstract class Partitioner<TSource> {
+ protected Partitioner();
+ public virtual bool SupportsDynamicPartitions { get; }
+ public virtual IEnumerable<TSource> GetDynamicPartitions();
+ public abstract IList<IEnumerator<TSource>> GetPartitions(int partitionCount);
+ }
+}
```
# System.Collections.Concurrent
``` diff
+namespace System.Collections.Concurrent {
+ public class BlockingCollection<T> : ICollection, IDisposable, IEnumerable, IEnumerable<T>, IReadOnlyCollection<T> {
+ public BlockingCollection();
+ public BlockingCollection(IProducerConsumerCollection<T> collection);
+ public BlockingCollection(IProducerConsumerCollection<T> collection, int boundedCapacity);
+ public BlockingCollection(int boundedCapacity);
+ public int BoundedCapacity { get; }
+ public int Count { get; }
+ public bool IsAddingCompleted { get; }
+ public bool IsCompleted { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public void Add(T item);
+ public void Add(T item, CancellationToken cancellationToken);
+ public static int AddToAny(BlockingCollection<T>[] collections, T item);
+ public static int AddToAny(BlockingCollection<T>[] collections, T item, CancellationToken cancellationToken);
+ public void CompleteAdding();
+ public void CopyTo(T[] array, int index);
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public IEnumerable<T> GetConsumingEnumerable();
+ public IEnumerable<T> GetConsumingEnumerable(CancellationToken cancellationToken);
+ IEnumerator<T> System.Collections.Generic.IEnumerable<T>.GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public T Take();
+ public T Take(CancellationToken cancellationToken);
+ public static int TakeFromAny(BlockingCollection<T>[] collections, out T item);
+ public static int TakeFromAny(BlockingCollection<T>[] collections, out T item, CancellationToken cancellationToken);
+ public T[] ToArray();
+ public bool TryAdd(T item);
+ public bool TryAdd(T item, int millisecondsTimeout);
+ public bool TryAdd(T item, int millisecondsTimeout, CancellationToken cancellationToken);
+ public bool TryAdd(T item, TimeSpan timeout);
+ public static int TryAddToAny(BlockingCollection<T>[] collections, T item);
+ public static int TryAddToAny(BlockingCollection<T>[] collections, T item, int millisecondsTimeout);
+ public static int TryAddToAny(BlockingCollection<T>[] collections, T item, int millisecondsTimeout, CancellationToken cancellationToken);
+ public static int TryAddToAny(BlockingCollection<T>[] collections, T item, TimeSpan timeout);
+ public bool TryTake(out T item);
+ public bool TryTake(out T item, int millisecondsTimeout);
+ public bool TryTake(out T item, int millisecondsTimeout, CancellationToken cancellationToken);
+ public bool TryTake(out T item, TimeSpan timeout);
+ public static int TryTakeFromAny(BlockingCollection<T>[] collections, out T item);
+ public static int TryTakeFromAny(BlockingCollection<T>[] collections, out T item, int millisecondsTimeout);
+ public static int TryTakeFromAny(BlockingCollection<T>[] collections, out T item, int millisecondsTimeout, CancellationToken cancellationToken);
+ public static int TryTakeFromAny(BlockingCollection<T>[] collections, out T item, TimeSpan timeout);
+ }
+ public class ConcurrentBag<T> : ICollection, IEnumerable, IEnumerable<T>, IProducerConsumerCollection<T>, IReadOnlyCollection<T> {
+ public ConcurrentBag();
+ public ConcurrentBag(IEnumerable<T> collection);
+ public int Count { get; }
+ public bool IsEmpty { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public void Add(T item);
+ public void CopyTo(T[] array, int index);
+ public IEnumerator<T> GetEnumerator();
+ bool System.Collections.Concurrent.IProducerConsumerCollection<T>.TryAdd(T item);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public T[] ToArray();
+ public bool TryPeek(out T result);
+ public bool TryTake(out T result);
+ }
+ public class ConcurrentDictionary<TKey, TValue> : ICollection, ICollection<KeyValuePair<TKey, TValue>>, IDictionary, IDictionary<TKey, TValue>, IEnumerable, IEnumerable<KeyValuePair<TKey, TValue>>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IReadOnlyDictionary<TKey, TValue> {
+ public ConcurrentDictionary();
+ public ConcurrentDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection);
+ public ConcurrentDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey> comparer);
+ public ConcurrentDictionary(IEqualityComparer<TKey> comparer);
+ public ConcurrentDictionary(int concurrencyLevel, IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey> comparer);
+ public ConcurrentDictionary(int concurrencyLevel, int capacity);
+ public ConcurrentDictionary(int concurrencyLevel, int capacity, IEqualityComparer<TKey> comparer);
+ public int Count { get; }
+ public bool IsEmpty { get; }
+ public ICollection<TKey> Keys { get; }
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.IsReadOnly { get; }
+ IEnumerable<TKey> System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>.Keys { get; }
+ IEnumerable<TValue> System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>.Values { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IDictionary.IsFixedSize { get; }
+ bool System.Collections.IDictionary.IsReadOnly { get; }
+ object System.Collections.IDictionary.this[object key] { get; set; }
+ ICollection System.Collections.IDictionary.Keys { get; }
+ ICollection System.Collections.IDictionary.Values { get; }
+ public TValue this[TKey key] { get; set; }
+ public ICollection<TValue> Values { get; }
+ public TValue AddOrUpdate(TKey key, Func<TKey, TValue> addValueFactory, Func<TKey, TValue, TValue> updateValueFactory);
+ public TValue AddOrUpdate(TKey key, TValue addValue, Func<TKey, TValue, TValue> updateValueFactory);
+ public void Clear();
+ public bool ContainsKey(TKey key);
+ public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator();
+ public TValue GetOrAdd(TKey key, Func<TKey, TValue> valueFactory);
+ public TValue GetOrAdd(TKey key, TValue value);
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Add(KeyValuePair<TKey, TValue> keyValuePair);
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Contains(KeyValuePair<TKey, TValue> keyValuePair);
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CopyTo(KeyValuePair<TKey, TValue>[] array, int index);
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Remove(KeyValuePair<TKey, TValue> keyValuePair);
+ void System.Collections.Generic.IDictionary<TKey,TValue>.Add(TKey key, TValue value);
+ bool System.Collections.Generic.IDictionary<TKey,TValue>.Remove(TKey key);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ void System.Collections.IDictionary.Add(object key, object value);
+ bool System.Collections.IDictionary.Contains(object key);
+ IDictionaryEnumerator System.Collections.IDictionary.GetEnumerator();
+ void System.Collections.IDictionary.Remove(object key);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public KeyValuePair<TKey, TValue>[] ToArray();
+ public bool TryAdd(TKey key, TValue value);
+ public bool TryGetValue(TKey key, out TValue value);
+ public bool TryRemove(TKey key, out TValue value);
+ public bool TryUpdate(TKey key, TValue newValue, TValue comparisonValue);
+ }
+ public class ConcurrentQueue<T> : ICollection, IEnumerable, IEnumerable<T>, IProducerConsumerCollection<T>, IReadOnlyCollection<T> {
+ public ConcurrentQueue();
+ public ConcurrentQueue(IEnumerable<T> collection);
+ public int Count { get; }
+ public bool IsEmpty { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public void CopyTo(T[] array, int index);
+ public void Enqueue(T item);
+ public IEnumerator<T> GetEnumerator();
+ bool System.Collections.Concurrent.IProducerConsumerCollection<T>.TryAdd(T item);
+ bool System.Collections.Concurrent.IProducerConsumerCollection<T>.TryTake(out T item);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public T[] ToArray();
+ public bool TryDequeue(out T result);
+ public bool TryPeek(out T result);
+ }
+ public class ConcurrentStack<T> : ICollection, IEnumerable, IEnumerable<T>, IProducerConsumerCollection<T>, IReadOnlyCollection<T> {
+ public ConcurrentStack();
+ public ConcurrentStack(IEnumerable<T> collection);
+ public int Count { get; }
+ public bool IsEmpty { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public void Clear();
+ public void CopyTo(T[] array, int index);
+ public IEnumerator<T> GetEnumerator();
+ public void Push(T item);
+ public void PushRange(T[] items);
+ public void PushRange(T[] items, int startIndex, int count);
+ bool System.Collections.Concurrent.IProducerConsumerCollection<T>.TryAdd(T item);
+ bool System.Collections.Concurrent.IProducerConsumerCollection<T>.TryTake(out T item);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public T[] ToArray();
+ public bool TryPeek(out T result);
+ public bool TryPop(out T result);
+ public int TryPopRange(T[] items);
+ public int TryPopRange(T[] items, int startIndex, int count);
+ }
+ public enum EnumerablePartitionerOptions {
+ NoBuffering = 1,
+ None = 0,
+ }
+ public interface IProducerConsumerCollection<T> : ICollection, IEnumerable, IEnumerable<T> {
+ void CopyTo(T[] array, int index);
+ T[] ToArray();
+ bool TryAdd(T item);
+ bool TryTake(out T item);
+ }
+ public abstract class OrderablePartitioner<TSource> : Partitioner<TSource> {
+ protected OrderablePartitioner(bool keysOrderedInEachPartition, bool keysOrderedAcrossPartitions, bool keysNormalized);
+ public bool KeysNormalized { get; }
+ public bool KeysOrderedAcrossPartitions { get; }
+ public bool KeysOrderedInEachPartition { get; }
+ public override IEnumerable<TSource> GetDynamicPartitions();
+ public virtual IEnumerable<KeyValuePair<long, TSource>> GetOrderableDynamicPartitions();
+ public abstract IList<IEnumerator<KeyValuePair<long, TSource>>> GetOrderablePartitions(int partitionCount);
+ public override IList<IEnumerator<TSource>> GetPartitions(int partitionCount);
+ }
+ public static class Partitioner {
+ public static OrderablePartitioner<Tuple<int, int>> Create(int fromInclusive, int toExclusive);
+ public static OrderablePartitioner<Tuple<int, int>> Create(int fromInclusive, int toExclusive, int rangeSize);
+ public static OrderablePartitioner<Tuple<long, long>> Create(long fromInclusive, long toExclusive);
+ public static OrderablePartitioner<Tuple<long, long>> Create(long fromInclusive, long toExclusive, long rangeSize);
+ public static OrderablePartitioner<TSource> Create<TSource>(IEnumerable<TSource> source);
+ public static OrderablePartitioner<TSource> Create<TSource>(IEnumerable<TSource> source, EnumerablePartitionerOptions partitionerOptions);
+ public static OrderablePartitioner<TSource> Create<TSource>(IList<TSource> list, bool loadBalance);
+ public static OrderablePartitioner<TSource> Create<TSource>(TSource[] array, bool loadBalance);
+ }
+ public abstract class Partitioner<TSource> {
+ protected Partitioner();
+ public virtual bool SupportsDynamicPartitions { get; }
+ public virtual IEnumerable<TSource> GetDynamicPartitions();
+ public abstract IList<IEnumerator<TSource>> GetPartitions(int partitionCount);
+ }
+}
```

View File

@@ -1,179 +1,179 @@
# System.Collections.ObjectModel
``` diff
+namespace System.Collections.ObjectModel {
+ public class Collection<T> : ICollection, ICollection<T>, IEnumerable, IEnumerable<T>, IList, IList<T>, IReadOnlyCollection<T>, IReadOnlyList<T> {
+ public Collection();
+ public Collection(IList<T> list);
+ public int Count { get; }
+ protected IList<T> Items { get; }
+ bool System.Collections.Generic.ICollection<T>.IsReadOnly { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IList.IsFixedSize { get; }
+ bool System.Collections.IList.IsReadOnly { get; }
+ object System.Collections.IList.this[int index] { get; set; }
+ public T this[int index] { get; set; }
+ public void Add(T item);
+ public void Clear();
+ protected virtual void ClearItems();
+ public bool Contains(T item);
+ public void CopyTo(T[] array, int index);
+ public IEnumerator<T> GetEnumerator();
+ public int IndexOf(T item);
+ public void Insert(int index, T item);
+ protected virtual void InsertItem(int index, T item);
+ public bool Remove(T item);
+ public void RemoveAt(int index);
+ protected virtual void RemoveItem(int index);
+ protected virtual void SetItem(int index, T item);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ int System.Collections.IList.Add(object value);
+ bool System.Collections.IList.Contains(object value);
+ int System.Collections.IList.IndexOf(object value);
+ void System.Collections.IList.Insert(int index, object value);
+ void System.Collections.IList.Remove(object value);
+ }
+ public abstract class KeyedCollection<TKey, TItem> : Collection<TItem> {
+ protected KeyedCollection();
+ protected KeyedCollection(IEqualityComparer<TKey> comparer);
+ protected KeyedCollection(IEqualityComparer<TKey> comparer, int dictionaryCreationThreshold);
+ public IEqualityComparer<TKey> Comparer { get; }
+ protected IDictionary<TKey, TItem> Dictionary { get; }
+ public TItem this[TKey key] { get; }
+ protected void ChangeItemKey(TItem item, TKey newKey);
+ protected override void ClearItems();
+ public bool Contains(TKey key);
+ protected abstract TKey GetKeyForItem(TItem item);
+ protected override void InsertItem(int index, TItem item);
+ public bool Remove(TKey key);
+ protected override void RemoveItem(int index);
+ protected override void SetItem(int index, TItem item);
+ }
+ public class ObservableCollection<T> : Collection<T>, INotifyCollectionChanged, INotifyPropertyChanged {
+ public ObservableCollection();
+ public ObservableCollection(IEnumerable<T> collection);
+ public virtual event NotifyCollectionChangedEventHandler CollectionChanged;
+ protected virtual event PropertyChangedEventHandler PropertyChanged;
+ event PropertyChangedEventHandler System.ComponentModel.INotifyPropertyChanged.PropertyChanged;
+ protected IDisposable BlockReentrancy();
+ protected void CheckReentrancy();
+ protected override void ClearItems();
+ protected override void InsertItem(int index, T item);
+ public void Move(int oldIndex, int newIndex);
+ protected virtual void MoveItem(int oldIndex, int newIndex);
+ protected virtual void OnCollectionChanged(NotifyCollectionChangedEventArgs e);
+ protected virtual void OnPropertyChanged(PropertyChangedEventArgs e);
+ protected override void RemoveItem(int index);
+ protected override void SetItem(int index, T item);
+ }
+ public class ReadOnlyCollection<T> : ICollection, ICollection<T>, IEnumerable, IEnumerable<T>, IList, IList<T>, IReadOnlyCollection<T>, IReadOnlyList<T> {
+ public ReadOnlyCollection(IList<T> list);
+ public int Count { get; }
+ protected IList<T> Items { get; }
+ bool System.Collections.Generic.ICollection<T>.IsReadOnly { get; }
+ T System.Collections.Generic.IList<T>.this[int index] { get; set; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IList.IsFixedSize { get; }
+ bool System.Collections.IList.IsReadOnly { get; }
+ object System.Collections.IList.this[int index] { get; set; }
+ public T this[int index] { get; }
+ public bool Contains(T value);
+ public void CopyTo(T[] array, int index);
+ public IEnumerator<T> GetEnumerator();
+ public int IndexOf(T value);
+ void System.Collections.Generic.ICollection<T>.Add(T value);
+ void System.Collections.Generic.ICollection<T>.Clear();
+ bool System.Collections.Generic.ICollection<T>.Remove(T value);
+ void System.Collections.Generic.IList<T>.Insert(int index, T value);
+ void System.Collections.Generic.IList<T>.RemoveAt(int index);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ int System.Collections.IList.Add(object value);
+ void System.Collections.IList.Clear();
+ bool System.Collections.IList.Contains(object value);
+ int System.Collections.IList.IndexOf(object value);
+ void System.Collections.IList.Insert(int index, object value);
+ void System.Collections.IList.Remove(object value);
+ void System.Collections.IList.RemoveAt(int index);
+ }
+ public class ReadOnlyDictionary<TKey, TValue> : ICollection, ICollection<KeyValuePair<TKey, TValue>>, IDictionary, IDictionary<TKey, TValue>, IEnumerable, IEnumerable<KeyValuePair<TKey, TValue>>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IReadOnlyDictionary<TKey, TValue> {
+ public ReadOnlyDictionary(IDictionary<TKey, TValue> dictionary);
+ public int Count { get; }
+ protected IDictionary<TKey, TValue> Dictionary { get; }
+ public ReadOnlyDictionary<TKey, TValue>.KeyCollection Keys { get; }
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.IsReadOnly { get; }
+ TValue System.Collections.Generic.IDictionary<TKey,TValue>.this[TKey key] { get; set; }
+ ICollection<TKey> System.Collections.Generic.IDictionary<TKey,TValue>.Keys { get; }
+ ICollection<TValue> System.Collections.Generic.IDictionary<TKey,TValue>.Values { get; }
+ IEnumerable<TKey> System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>.Keys { get; }
+ IEnumerable<TValue> System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>.Values { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IDictionary.IsFixedSize { get; }
+ bool System.Collections.IDictionary.IsReadOnly { get; }
+ object System.Collections.IDictionary.this[object key] { get; set; }
+ ICollection System.Collections.IDictionary.Keys { get; }
+ ICollection System.Collections.IDictionary.Values { get; }
+ public TValue this[TKey key] { get; }
+ public ReadOnlyDictionary<TKey, TValue>.ValueCollection Values { get; }
+ public bool ContainsKey(TKey key);
+ public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator();
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Add(KeyValuePair<TKey, TValue> item);
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Clear();
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Contains(KeyValuePair<TKey, TValue> item);
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CopyTo(KeyValuePair<TKey, TValue>[] array, int arrayIndex);
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Remove(KeyValuePair<TKey, TValue> item);
+ void System.Collections.Generic.IDictionary<TKey,TValue>.Add(TKey key, TValue value);
+ bool System.Collections.Generic.IDictionary<TKey,TValue>.Remove(TKey key);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ void System.Collections.IDictionary.Add(object key, object value);
+ void System.Collections.IDictionary.Clear();
+ bool System.Collections.IDictionary.Contains(object key);
+ IDictionaryEnumerator System.Collections.IDictionary.GetEnumerator();
+ void System.Collections.IDictionary.Remove(object key);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public bool TryGetValue(TKey key, out TValue value);
+ public sealed class KeyCollection : ICollection, ICollection<TKey>, IEnumerable, IEnumerable<TKey>, IReadOnlyCollection<TKey> {
+ public int Count { get; }
+ bool System.Collections.Generic.ICollection<TKey>.IsReadOnly { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public void CopyTo(TKey[] array, int arrayIndex);
+ public IEnumerator<TKey> GetEnumerator();
+ void System.Collections.Generic.ICollection<TKey>.Add(TKey item);
+ void System.Collections.Generic.ICollection<TKey>.Clear();
+ bool System.Collections.Generic.ICollection<TKey>.Contains(TKey item);
+ bool System.Collections.Generic.ICollection<TKey>.Remove(TKey item);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class ValueCollection : ICollection, ICollection<TValue>, IEnumerable, IEnumerable<TValue>, IReadOnlyCollection<TValue> {
+ public int Count { get; }
+ bool System.Collections.Generic.ICollection<TValue>.IsReadOnly { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public void CopyTo(TValue[] array, int arrayIndex);
+ public IEnumerator<TValue> GetEnumerator();
+ void System.Collections.Generic.ICollection<TValue>.Add(TValue item);
+ void System.Collections.Generic.ICollection<TValue>.Clear();
+ bool System.Collections.Generic.ICollection<TValue>.Contains(TValue item);
+ bool System.Collections.Generic.ICollection<TValue>.Remove(TValue item);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ }
+ public class ReadOnlyObservableCollection<T> : ReadOnlyCollection<T>, INotifyCollectionChanged, INotifyPropertyChanged {
+ public ReadOnlyObservableCollection(ObservableCollection<T> list);
+ protected virtual event NotifyCollectionChangedEventHandler CollectionChanged;
+ protected virtual event PropertyChangedEventHandler PropertyChanged;
+ event NotifyCollectionChangedEventHandler System.Collections.Specialized.INotifyCollectionChanged.CollectionChanged;
+ event PropertyChangedEventHandler System.ComponentModel.INotifyPropertyChanged.PropertyChanged;
+ protected virtual void OnCollectionChanged(NotifyCollectionChangedEventArgs args);
+ protected virtual void OnPropertyChanged(PropertyChangedEventArgs args);
+ }
+}
```
# System.Collections.ObjectModel
``` diff
+namespace System.Collections.ObjectModel {
+ public class Collection<T> : ICollection, ICollection<T>, IEnumerable, IEnumerable<T>, IList, IList<T>, IReadOnlyCollection<T>, IReadOnlyList<T> {
+ public Collection();
+ public Collection(IList<T> list);
+ public int Count { get; }
+ protected IList<T> Items { get; }
+ bool System.Collections.Generic.ICollection<T>.IsReadOnly { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IList.IsFixedSize { get; }
+ bool System.Collections.IList.IsReadOnly { get; }
+ object System.Collections.IList.this[int index] { get; set; }
+ public T this[int index] { get; set; }
+ public void Add(T item);
+ public void Clear();
+ protected virtual void ClearItems();
+ public bool Contains(T item);
+ public void CopyTo(T[] array, int index);
+ public IEnumerator<T> GetEnumerator();
+ public int IndexOf(T item);
+ public void Insert(int index, T item);
+ protected virtual void InsertItem(int index, T item);
+ public bool Remove(T item);
+ public void RemoveAt(int index);
+ protected virtual void RemoveItem(int index);
+ protected virtual void SetItem(int index, T item);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ int System.Collections.IList.Add(object value);
+ bool System.Collections.IList.Contains(object value);
+ int System.Collections.IList.IndexOf(object value);
+ void System.Collections.IList.Insert(int index, object value);
+ void System.Collections.IList.Remove(object value);
+ }
+ public abstract class KeyedCollection<TKey, TItem> : Collection<TItem> {
+ protected KeyedCollection();
+ protected KeyedCollection(IEqualityComparer<TKey> comparer);
+ protected KeyedCollection(IEqualityComparer<TKey> comparer, int dictionaryCreationThreshold);
+ public IEqualityComparer<TKey> Comparer { get; }
+ protected IDictionary<TKey, TItem> Dictionary { get; }
+ public TItem this[TKey key] { get; }
+ protected void ChangeItemKey(TItem item, TKey newKey);
+ protected override void ClearItems();
+ public bool Contains(TKey key);
+ protected abstract TKey GetKeyForItem(TItem item);
+ protected override void InsertItem(int index, TItem item);
+ public bool Remove(TKey key);
+ protected override void RemoveItem(int index);
+ protected override void SetItem(int index, TItem item);
+ }
+ public class ObservableCollection<T> : Collection<T>, INotifyCollectionChanged, INotifyPropertyChanged {
+ public ObservableCollection();
+ public ObservableCollection(IEnumerable<T> collection);
+ public virtual event NotifyCollectionChangedEventHandler CollectionChanged;
+ protected virtual event PropertyChangedEventHandler PropertyChanged;
+ event PropertyChangedEventHandler System.ComponentModel.INotifyPropertyChanged.PropertyChanged;
+ protected IDisposable BlockReentrancy();
+ protected void CheckReentrancy();
+ protected override void ClearItems();
+ protected override void InsertItem(int index, T item);
+ public void Move(int oldIndex, int newIndex);
+ protected virtual void MoveItem(int oldIndex, int newIndex);
+ protected virtual void OnCollectionChanged(NotifyCollectionChangedEventArgs e);
+ protected virtual void OnPropertyChanged(PropertyChangedEventArgs e);
+ protected override void RemoveItem(int index);
+ protected override void SetItem(int index, T item);
+ }
+ public class ReadOnlyCollection<T> : ICollection, ICollection<T>, IEnumerable, IEnumerable<T>, IList, IList<T>, IReadOnlyCollection<T>, IReadOnlyList<T> {
+ public ReadOnlyCollection(IList<T> list);
+ public int Count { get; }
+ protected IList<T> Items { get; }
+ bool System.Collections.Generic.ICollection<T>.IsReadOnly { get; }
+ T System.Collections.Generic.IList<T>.this[int index] { get; set; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IList.IsFixedSize { get; }
+ bool System.Collections.IList.IsReadOnly { get; }
+ object System.Collections.IList.this[int index] { get; set; }
+ public T this[int index] { get; }
+ public bool Contains(T value);
+ public void CopyTo(T[] array, int index);
+ public IEnumerator<T> GetEnumerator();
+ public int IndexOf(T value);
+ void System.Collections.Generic.ICollection<T>.Add(T value);
+ void System.Collections.Generic.ICollection<T>.Clear();
+ bool System.Collections.Generic.ICollection<T>.Remove(T value);
+ void System.Collections.Generic.IList<T>.Insert(int index, T value);
+ void System.Collections.Generic.IList<T>.RemoveAt(int index);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ int System.Collections.IList.Add(object value);
+ void System.Collections.IList.Clear();
+ bool System.Collections.IList.Contains(object value);
+ int System.Collections.IList.IndexOf(object value);
+ void System.Collections.IList.Insert(int index, object value);
+ void System.Collections.IList.Remove(object value);
+ void System.Collections.IList.RemoveAt(int index);
+ }
+ public class ReadOnlyDictionary<TKey, TValue> : ICollection, ICollection<KeyValuePair<TKey, TValue>>, IDictionary, IDictionary<TKey, TValue>, IEnumerable, IEnumerable<KeyValuePair<TKey, TValue>>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IReadOnlyDictionary<TKey, TValue> {
+ public ReadOnlyDictionary(IDictionary<TKey, TValue> dictionary);
+ public int Count { get; }
+ protected IDictionary<TKey, TValue> Dictionary { get; }
+ public ReadOnlyDictionary<TKey, TValue>.KeyCollection Keys { get; }
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.IsReadOnly { get; }
+ TValue System.Collections.Generic.IDictionary<TKey,TValue>.this[TKey key] { get; set; }
+ ICollection<TKey> System.Collections.Generic.IDictionary<TKey,TValue>.Keys { get; }
+ ICollection<TValue> System.Collections.Generic.IDictionary<TKey,TValue>.Values { get; }
+ IEnumerable<TKey> System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>.Keys { get; }
+ IEnumerable<TValue> System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>.Values { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IDictionary.IsFixedSize { get; }
+ bool System.Collections.IDictionary.IsReadOnly { get; }
+ object System.Collections.IDictionary.this[object key] { get; set; }
+ ICollection System.Collections.IDictionary.Keys { get; }
+ ICollection System.Collections.IDictionary.Values { get; }
+ public TValue this[TKey key] { get; }
+ public ReadOnlyDictionary<TKey, TValue>.ValueCollection Values { get; }
+ public bool ContainsKey(TKey key);
+ public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator();
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Add(KeyValuePair<TKey, TValue> item);
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Clear();
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Contains(KeyValuePair<TKey, TValue> item);
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CopyTo(KeyValuePair<TKey, TValue>[] array, int arrayIndex);
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Remove(KeyValuePair<TKey, TValue> item);
+ void System.Collections.Generic.IDictionary<TKey,TValue>.Add(TKey key, TValue value);
+ bool System.Collections.Generic.IDictionary<TKey,TValue>.Remove(TKey key);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ void System.Collections.IDictionary.Add(object key, object value);
+ void System.Collections.IDictionary.Clear();
+ bool System.Collections.IDictionary.Contains(object key);
+ IDictionaryEnumerator System.Collections.IDictionary.GetEnumerator();
+ void System.Collections.IDictionary.Remove(object key);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public bool TryGetValue(TKey key, out TValue value);
+ public sealed class KeyCollection : ICollection, ICollection<TKey>, IEnumerable, IEnumerable<TKey>, IReadOnlyCollection<TKey> {
+ public int Count { get; }
+ bool System.Collections.Generic.ICollection<TKey>.IsReadOnly { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public void CopyTo(TKey[] array, int arrayIndex);
+ public IEnumerator<TKey> GetEnumerator();
+ void System.Collections.Generic.ICollection<TKey>.Add(TKey item);
+ void System.Collections.Generic.ICollection<TKey>.Clear();
+ bool System.Collections.Generic.ICollection<TKey>.Contains(TKey item);
+ bool System.Collections.Generic.ICollection<TKey>.Remove(TKey item);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class ValueCollection : ICollection, ICollection<TValue>, IEnumerable, IEnumerable<TValue>, IReadOnlyCollection<TValue> {
+ public int Count { get; }
+ bool System.Collections.Generic.ICollection<TValue>.IsReadOnly { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public void CopyTo(TValue[] array, int arrayIndex);
+ public IEnumerator<TValue> GetEnumerator();
+ void System.Collections.Generic.ICollection<TValue>.Add(TValue item);
+ void System.Collections.Generic.ICollection<TValue>.Clear();
+ bool System.Collections.Generic.ICollection<TValue>.Contains(TValue item);
+ bool System.Collections.Generic.ICollection<TValue>.Remove(TValue item);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ }
+ public class ReadOnlyObservableCollection<T> : ReadOnlyCollection<T>, INotifyCollectionChanged, INotifyPropertyChanged {
+ public ReadOnlyObservableCollection(ObservableCollection<T> list);
+ protected virtual event NotifyCollectionChangedEventHandler CollectionChanged;
+ protected virtual event PropertyChangedEventHandler PropertyChanged;
+ event NotifyCollectionChangedEventHandler System.Collections.Specialized.INotifyCollectionChanged.CollectionChanged;
+ event PropertyChangedEventHandler System.ComponentModel.INotifyPropertyChanged.PropertyChanged;
+ protected virtual void OnCollectionChanged(NotifyCollectionChangedEventArgs args);
+ protected virtual void OnPropertyChanged(PropertyChangedEventArgs args);
+ }
+}
```

View File

@@ -1,250 +1,250 @@
# System.Collections.Specialized
``` diff
+namespace System.Collections.Specialized {
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct BitVector32 {
+ public BitVector32(BitVector32 value);
+ public BitVector32(int data);
+ public int Data { get; }
+ public int this[BitVector32.Section section] { get; set; }
+ public bool this[int bit] { get; set; }
+ public static int CreateMask();
+ public static int CreateMask(int previous);
+ public static BitVector32.Section CreateSection(short maxValue);
+ public static BitVector32.Section CreateSection(short maxValue, BitVector32.Section previous);
+ public override bool Equals(object o);
+ public override int GetHashCode();
+ public override string ToString();
+ public static string ToString(BitVector32 value);
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct Section {
+ public short Mask { get; }
+ public short Offset { get; }
+ public bool Equals(BitVector32.Section obj);
+ public override bool Equals(object o);
+ public override int GetHashCode();
+ public static bool operator ==(BitVector32.Section a, BitVector32.Section b);
+ public static bool operator !=(BitVector32.Section a, BitVector32.Section b);
+ public override string ToString();
+ public static string ToString(BitVector32.Section value);
+ }
+ }
+ public class CollectionsUtil {
+ public CollectionsUtil();
+ public static Hashtable CreateCaseInsensitiveHashtable();
+ public static Hashtable CreateCaseInsensitiveHashtable(IDictionary d);
+ public static Hashtable CreateCaseInsensitiveHashtable(int capacity);
+ public static SortedList CreateCaseInsensitiveSortedList();
+ }
+ public class HybridDictionary : ICollection, IDictionary, IEnumerable {
+ public HybridDictionary();
+ public HybridDictionary(bool caseInsensitive);
+ public HybridDictionary(int initialSize);
+ public HybridDictionary(int initialSize, bool caseInsensitive);
+ public int Count { get; }
+ public bool IsFixedSize { get; }
+ public bool IsReadOnly { get; }
+ public bool IsSynchronized { get; }
+ public ICollection Keys { get; }
+ public object SyncRoot { get; }
+ public object this[object key] { get; set; }
+ public ICollection Values { get; }
+ public void Add(object key, object value);
+ public void Clear();
+ public bool Contains(object key);
+ public void CopyTo(Array array, int index);
+ public IDictionaryEnumerator GetEnumerator();
+ public void Remove(object key);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public interface INotifyCollectionChanged {
+ event NotifyCollectionChangedEventHandler CollectionChanged;
+ }
+ public interface IOrderedDictionary : ICollection, IDictionary, IEnumerable {
+ object this[int index] { get; set; }
+ new IDictionaryEnumerator GetEnumerator();
+ void Insert(int index, object key, object value);
+ void RemoveAt(int index);
+ }
+ public class ListDictionary : ICollection, IDictionary, IEnumerable {
+ public ListDictionary();
+ public ListDictionary(IComparer comparer);
+ public int Count { get; }
+ public bool IsFixedSize { get; }
+ public bool IsReadOnly { get; }
+ public bool IsSynchronized { get; }
+ public ICollection Keys { get; }
+ public object SyncRoot { get; }
+ public object this[object key] { get; set; }
+ public ICollection Values { get; }
+ public void Add(object key, object value);
+ public void Clear();
+ public bool Contains(object key);
+ public void CopyTo(Array array, int index);
+ public IDictionaryEnumerator GetEnumerator();
+ public void Remove(object key);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public abstract class NameObjectCollectionBase : ICollection, IEnumerable {
+ protected NameObjectCollectionBase();
+ protected NameObjectCollectionBase(IEqualityComparer equalityComparer);
+ protected NameObjectCollectionBase(int capacity);
+ protected NameObjectCollectionBase(int capacity, IEqualityComparer equalityComparer);
+ public virtual int Count { get; }
+ protected bool IsReadOnly { get; set; }
+ public virtual NameObjectCollectionBase.KeysCollection Keys { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ protected void BaseAdd(string name, object value);
+ protected void BaseClear();
+ protected object BaseGet(int index);
+ protected object BaseGet(string name);
+ protected string[] BaseGetAllKeys();
+ protected object[] BaseGetAllValues();
+ protected object[] BaseGetAllValues(Type type);
+ protected string BaseGetKey(int index);
+ protected bool BaseHasKeys();
+ protected void BaseRemove(string name);
+ protected void BaseRemoveAt(int index);
+ protected void BaseSet(int index, object value);
+ protected void BaseSet(string name, object value);
+ public virtual IEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ public class KeysCollection : ICollection, IEnumerable {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public string this[int index] { get; }
+ public virtual string Get(int index);
+ public IEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ }
+ }
+ public class NameValueCollection : NameObjectCollectionBase {
+ public NameValueCollection();
+ public NameValueCollection(IEqualityComparer equalityComparer);
+ public NameValueCollection(NameValueCollection col);
+ public NameValueCollection(int capacity);
+ public NameValueCollection(int capacity, IEqualityComparer equalityComparer);
+ public NameValueCollection(int capacity, NameValueCollection col);
+ public virtual string[] AllKeys { get; }
+ public string this[int index] { get; }
+ public string this[string name] { get; set; }
+ public void Add(NameValueCollection c);
+ public virtual void Add(string name, string value);
+ public virtual void Clear();
+ public void CopyTo(Array dest, int index);
+ public virtual string Get(int index);
+ public virtual string Get(string name);
+ public virtual string GetKey(int index);
+ public virtual string[] GetValues(int index);
+ public virtual string[] GetValues(string name);
+ public bool HasKeys();
+ protected void InvalidateCachedArrays();
+ public virtual void Remove(string name);
+ public virtual void Set(string name, string value);
+ }
+ public enum NotifyCollectionChangedAction {
+ Add = 0,
+ Move = 3,
+ Remove = 1,
+ Replace = 2,
+ Reset = 4,
+ }
+ public class NotifyCollectionChangedEventArgs : EventArgs {
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, IList changedItems);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, IList newItems, IList oldItems);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, IList newItems, IList oldItems, int startingIndex);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, IList changedItems, int startingIndex);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, IList changedItems, int index, int oldIndex);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, object changedItem);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, object changedItem, int index);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, object changedItem, int index, int oldIndex);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, object newItem, object oldItem);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, object newItem, object oldItem, int index);
+ public NotifyCollectionChangedAction Action { get; }
+ public IList NewItems { get; }
+ public int NewStartingIndex { get; }
+ public IList OldItems { get; }
+ public int OldStartingIndex { get; }
+ }
+ public delegate void NotifyCollectionChangedEventHandler(object sender, NotifyCollectionChangedEventArgs e);
+ public class OrderedDictionary : ICollection, IDictionary, IEnumerable, IOrderedDictionary {
+ public OrderedDictionary();
+ public OrderedDictionary(IEqualityComparer comparer);
+ public OrderedDictionary(int capacity);
+ public OrderedDictionary(int capacity, IEqualityComparer comparer);
+ public int Count { get; }
+ public bool IsReadOnly { get; }
+ public ICollection Keys { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IDictionary.IsFixedSize { get; }
+ public object this[int index] { get; set; }
+ public object this[object key] { get; set; }
+ public ICollection Values { get; }
+ public void Add(object key, object value);
+ public OrderedDictionary AsReadOnly();
+ public void Clear();
+ public bool Contains(object key);
+ public void CopyTo(Array array, int index);
+ public virtual IDictionaryEnumerator GetEnumerator();
+ public void Insert(int index, object key, object value);
+ public void Remove(object key);
+ public void RemoveAt(int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public class StringCollection : ICollection, IEnumerable, IList {
+ public StringCollection();
+ public int Count { get; }
+ public bool IsReadOnly { get; }
+ public bool IsSynchronized { get; }
+ public object SyncRoot { get; }
+ bool System.Collections.IList.IsFixedSize { get; }
+ bool System.Collections.IList.IsReadOnly { get; }
+ object System.Collections.IList.this[int index] { get; set; }
+ public string this[int index] { get; set; }
+ public int Add(string value);
+ public void AddRange(string[] value);
+ public void Clear();
+ public bool Contains(string value);
+ public void CopyTo(string[] array, int index);
+ public StringEnumerator GetEnumerator();
+ public int IndexOf(string value);
+ public void Insert(int index, string value);
+ public void Remove(string value);
+ public void RemoveAt(int index);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ int System.Collections.IList.Add(object value);
+ bool System.Collections.IList.Contains(object value);
+ int System.Collections.IList.IndexOf(object value);
+ void System.Collections.IList.Insert(int index, object value);
+ void System.Collections.IList.Remove(object value);
+ }
+ public class StringDictionary : IEnumerable {
+ public StringDictionary();
+ public virtual int Count { get; }
+ public virtual bool IsSynchronized { get; }
+ public virtual ICollection Keys { get; }
+ public virtual object SyncRoot { get; }
+ public virtual string this[string key] { get; set; }
+ public virtual ICollection Values { get; }
+ public virtual void Add(string key, string value);
+ public virtual void Clear();
+ public virtual bool ContainsKey(string key);
+ public virtual bool ContainsValue(string value);
+ public virtual void CopyTo(Array array, int index);
+ public virtual IEnumerator GetEnumerator();
+ public virtual void Remove(string key);
+ }
+ public class StringEnumerator {
+ public string Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ }
+}
```
# System.Collections.Specialized
``` diff
+namespace System.Collections.Specialized {
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct BitVector32 {
+ public BitVector32(BitVector32 value);
+ public BitVector32(int data);
+ public int Data { get; }
+ public int this[BitVector32.Section section] { get; set; }
+ public bool this[int bit] { get; set; }
+ public static int CreateMask();
+ public static int CreateMask(int previous);
+ public static BitVector32.Section CreateSection(short maxValue);
+ public static BitVector32.Section CreateSection(short maxValue, BitVector32.Section previous);
+ public override bool Equals(object o);
+ public override int GetHashCode();
+ public override string ToString();
+ public static string ToString(BitVector32 value);
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct Section {
+ public short Mask { get; }
+ public short Offset { get; }
+ public bool Equals(BitVector32.Section obj);
+ public override bool Equals(object o);
+ public override int GetHashCode();
+ public static bool operator ==(BitVector32.Section a, BitVector32.Section b);
+ public static bool operator !=(BitVector32.Section a, BitVector32.Section b);
+ public override string ToString();
+ public static string ToString(BitVector32.Section value);
+ }
+ }
+ public class CollectionsUtil {
+ public CollectionsUtil();
+ public static Hashtable CreateCaseInsensitiveHashtable();
+ public static Hashtable CreateCaseInsensitiveHashtable(IDictionary d);
+ public static Hashtable CreateCaseInsensitiveHashtable(int capacity);
+ public static SortedList CreateCaseInsensitiveSortedList();
+ }
+ public class HybridDictionary : ICollection, IDictionary, IEnumerable {
+ public HybridDictionary();
+ public HybridDictionary(bool caseInsensitive);
+ public HybridDictionary(int initialSize);
+ public HybridDictionary(int initialSize, bool caseInsensitive);
+ public int Count { get; }
+ public bool IsFixedSize { get; }
+ public bool IsReadOnly { get; }
+ public bool IsSynchronized { get; }
+ public ICollection Keys { get; }
+ public object SyncRoot { get; }
+ public object this[object key] { get; set; }
+ public ICollection Values { get; }
+ public void Add(object key, object value);
+ public void Clear();
+ public bool Contains(object key);
+ public void CopyTo(Array array, int index);
+ public IDictionaryEnumerator GetEnumerator();
+ public void Remove(object key);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public interface INotifyCollectionChanged {
+ event NotifyCollectionChangedEventHandler CollectionChanged;
+ }
+ public interface IOrderedDictionary : ICollection, IDictionary, IEnumerable {
+ object this[int index] { get; set; }
+ new IDictionaryEnumerator GetEnumerator();
+ void Insert(int index, object key, object value);
+ void RemoveAt(int index);
+ }
+ public class ListDictionary : ICollection, IDictionary, IEnumerable {
+ public ListDictionary();
+ public ListDictionary(IComparer comparer);
+ public int Count { get; }
+ public bool IsFixedSize { get; }
+ public bool IsReadOnly { get; }
+ public bool IsSynchronized { get; }
+ public ICollection Keys { get; }
+ public object SyncRoot { get; }
+ public object this[object key] { get; set; }
+ public ICollection Values { get; }
+ public void Add(object key, object value);
+ public void Clear();
+ public bool Contains(object key);
+ public void CopyTo(Array array, int index);
+ public IDictionaryEnumerator GetEnumerator();
+ public void Remove(object key);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public abstract class NameObjectCollectionBase : ICollection, IEnumerable {
+ protected NameObjectCollectionBase();
+ protected NameObjectCollectionBase(IEqualityComparer equalityComparer);
+ protected NameObjectCollectionBase(int capacity);
+ protected NameObjectCollectionBase(int capacity, IEqualityComparer equalityComparer);
+ public virtual int Count { get; }
+ protected bool IsReadOnly { get; set; }
+ public virtual NameObjectCollectionBase.KeysCollection Keys { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ protected void BaseAdd(string name, object value);
+ protected void BaseClear();
+ protected object BaseGet(int index);
+ protected object BaseGet(string name);
+ protected string[] BaseGetAllKeys();
+ protected object[] BaseGetAllValues();
+ protected object[] BaseGetAllValues(Type type);
+ protected string BaseGetKey(int index);
+ protected bool BaseHasKeys();
+ protected void BaseRemove(string name);
+ protected void BaseRemoveAt(int index);
+ protected void BaseSet(int index, object value);
+ protected void BaseSet(string name, object value);
+ public virtual IEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ public class KeysCollection : ICollection, IEnumerable {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public string this[int index] { get; }
+ public virtual string Get(int index);
+ public IEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ }
+ }
+ public class NameValueCollection : NameObjectCollectionBase {
+ public NameValueCollection();
+ public NameValueCollection(IEqualityComparer equalityComparer);
+ public NameValueCollection(NameValueCollection col);
+ public NameValueCollection(int capacity);
+ public NameValueCollection(int capacity, IEqualityComparer equalityComparer);
+ public NameValueCollection(int capacity, NameValueCollection col);
+ public virtual string[] AllKeys { get; }
+ public string this[int index] { get; }
+ public string this[string name] { get; set; }
+ public void Add(NameValueCollection c);
+ public virtual void Add(string name, string value);
+ public virtual void Clear();
+ public void CopyTo(Array dest, int index);
+ public virtual string Get(int index);
+ public virtual string Get(string name);
+ public virtual string GetKey(int index);
+ public virtual string[] GetValues(int index);
+ public virtual string[] GetValues(string name);
+ public bool HasKeys();
+ protected void InvalidateCachedArrays();
+ public virtual void Remove(string name);
+ public virtual void Set(string name, string value);
+ }
+ public enum NotifyCollectionChangedAction {
+ Add = 0,
+ Move = 3,
+ Remove = 1,
+ Replace = 2,
+ Reset = 4,
+ }
+ public class NotifyCollectionChangedEventArgs : EventArgs {
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, IList changedItems);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, IList newItems, IList oldItems);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, IList newItems, IList oldItems, int startingIndex);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, IList changedItems, int startingIndex);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, IList changedItems, int index, int oldIndex);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, object changedItem);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, object changedItem, int index);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, object changedItem, int index, int oldIndex);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, object newItem, object oldItem);
+ public NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction action, object newItem, object oldItem, int index);
+ public NotifyCollectionChangedAction Action { get; }
+ public IList NewItems { get; }
+ public int NewStartingIndex { get; }
+ public IList OldItems { get; }
+ public int OldStartingIndex { get; }
+ }
+ public delegate void NotifyCollectionChangedEventHandler(object sender, NotifyCollectionChangedEventArgs e);
+ public class OrderedDictionary : ICollection, IDictionary, IEnumerable, IOrderedDictionary {
+ public OrderedDictionary();
+ public OrderedDictionary(IEqualityComparer comparer);
+ public OrderedDictionary(int capacity);
+ public OrderedDictionary(int capacity, IEqualityComparer comparer);
+ public int Count { get; }
+ public bool IsReadOnly { get; }
+ public ICollection Keys { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IDictionary.IsFixedSize { get; }
+ public object this[int index] { get; set; }
+ public object this[object key] { get; set; }
+ public ICollection Values { get; }
+ public void Add(object key, object value);
+ public OrderedDictionary AsReadOnly();
+ public void Clear();
+ public bool Contains(object key);
+ public void CopyTo(Array array, int index);
+ public virtual IDictionaryEnumerator GetEnumerator();
+ public void Insert(int index, object key, object value);
+ public void Remove(object key);
+ public void RemoveAt(int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public class StringCollection : ICollection, IEnumerable, IList {
+ public StringCollection();
+ public int Count { get; }
+ public bool IsReadOnly { get; }
+ public bool IsSynchronized { get; }
+ public object SyncRoot { get; }
+ bool System.Collections.IList.IsFixedSize { get; }
+ bool System.Collections.IList.IsReadOnly { get; }
+ object System.Collections.IList.this[int index] { get; set; }
+ public string this[int index] { get; set; }
+ public int Add(string value);
+ public void AddRange(string[] value);
+ public void Clear();
+ public bool Contains(string value);
+ public void CopyTo(string[] array, int index);
+ public StringEnumerator GetEnumerator();
+ public int IndexOf(string value);
+ public void Insert(int index, string value);
+ public void Remove(string value);
+ public void RemoveAt(int index);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ int System.Collections.IList.Add(object value);
+ bool System.Collections.IList.Contains(object value);
+ int System.Collections.IList.IndexOf(object value);
+ void System.Collections.IList.Insert(int index, object value);
+ void System.Collections.IList.Remove(object value);
+ }
+ public class StringDictionary : IEnumerable {
+ public StringDictionary();
+ public virtual int Count { get; }
+ public virtual bool IsSynchronized { get; }
+ public virtual ICollection Keys { get; }
+ public virtual object SyncRoot { get; }
+ public virtual string this[string key] { get; set; }
+ public virtual ICollection Values { get; }
+ public virtual void Add(string key, string value);
+ public virtual void Clear();
+ public virtual bool ContainsKey(string key);
+ public virtual bool ContainsValue(string value);
+ public virtual void CopyTo(Array array, int index);
+ public virtual IEnumerator GetEnumerator();
+ public virtual void Remove(string key);
+ }
+ public class StringEnumerator {
+ public string Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ }
+}
```

View File

@@ -1,348 +1,348 @@
# System.Collections
``` diff
+namespace System.Collections {
+ public class ArrayList : ICollection, IEnumerable, IList {
+ public ArrayList();
+ public ArrayList(ICollection c);
+ public ArrayList(int capacity);
+ public virtual int Capacity { get; set; }
+ public virtual int Count { get; }
+ public virtual bool IsFixedSize { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual bool IsSynchronized { get; }
+ public virtual object SyncRoot { get; }
+ public virtual object this[int index] { get; set; }
+ public static ArrayList Adapter(IList list);
+ public virtual int Add(object value);
+ public virtual void AddRange(ICollection c);
+ public virtual int BinarySearch(int index, int count, object value, IComparer comparer);
+ public virtual int BinarySearch(object value);
+ public virtual int BinarySearch(object value, IComparer comparer);
+ public virtual void Clear();
+ public virtual object Clone();
+ public virtual bool Contains(object item);
+ public virtual void CopyTo(Array array);
+ public virtual void CopyTo(Array array, int arrayIndex);
+ public virtual void CopyTo(int index, Array array, int arrayIndex, int count);
+ public static ArrayList FixedSize(ArrayList list);
+ public static IList FixedSize(IList list);
+ public virtual IEnumerator GetEnumerator();
+ public virtual IEnumerator GetEnumerator(int index, int count);
+ public virtual ArrayList GetRange(int index, int count);
+ public virtual int IndexOf(object value);
+ public virtual int IndexOf(object value, int startIndex);
+ public virtual int IndexOf(object value, int startIndex, int count);
+ public virtual void Insert(int index, object value);
+ public virtual void InsertRange(int index, ICollection c);
+ public virtual int LastIndexOf(object value);
+ public virtual int LastIndexOf(object value, int startIndex);
+ public virtual int LastIndexOf(object value, int startIndex, int count);
+ public static ArrayList ReadOnly(ArrayList list);
+ public static IList ReadOnly(IList list);
+ public virtual void Remove(object obj);
+ public virtual void RemoveAt(int index);
+ public virtual void RemoveRange(int index, int count);
+ public static ArrayList Repeat(object value, int count);
+ public virtual void Reverse();
+ public virtual void Reverse(int index, int count);
+ public virtual void SetRange(int index, ICollection c);
+ public virtual void Sort();
+ public virtual void Sort(IComparer comparer);
+ public virtual void Sort(int index, int count, IComparer comparer);
+ public static ArrayList Synchronized(ArrayList list);
+ public static IList Synchronized(IList list);
+ public virtual object[] ToArray();
+ public virtual Array ToArray(Type type);
+ public virtual void TrimToSize();
+ }
+ public sealed class BitArray : ICollection, IEnumerable {
+ public BitArray(bool[] values);
+ public BitArray(byte[] bytes);
+ public BitArray(BitArray bits);
+ public BitArray(int length);
+ public BitArray(int length, bool defaultValue);
+ public BitArray(int[] values);
+ public int Count { get; }
+ public bool IsReadOnly { get; }
+ public bool IsSynchronized { get; }
+ public int Length { get; set; }
+ public object SyncRoot { get; }
+ int System.Collections.ICollection.Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public bool this[int index] { get; set; }
+ public BitArray And(BitArray value);
+ public object Clone();
+ public void CopyTo(Array array, int index);
+ public bool Get(int index);
+ public IEnumerator GetEnumerator();
+ public BitArray Not();
+ public BitArray Or(BitArray value);
+ public void Set(int index, bool value);
+ public void SetAll(bool value);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ public BitArray Xor(BitArray value);
+ }
+ public class CaseInsensitiveComparer : IComparer {
+ public CaseInsensitiveComparer();
+ public CaseInsensitiveComparer(CultureInfo culture);
+ public static CaseInsensitiveComparer Default { get; }
+ public static CaseInsensitiveComparer DefaultInvariant { get; }
+ public int Compare(object a, object b);
+ }
+ public abstract class CollectionBase : ICollection, IEnumerable, IList {
+ protected CollectionBase();
+ protected CollectionBase(int capacity);
+ public int Capacity { get; set; }
+ public int Count { get; }
+ protected ArrayList InnerList { get; }
+ protected IList List { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IList.IsFixedSize { get; }
+ bool System.Collections.IList.IsReadOnly { get; }
+ object System.Collections.IList.this[int index] { get; set; }
+ public void Clear();
+ public IEnumerator GetEnumerator();
+ protected virtual void OnClear();
+ protected virtual void OnClearComplete();
+ protected virtual void OnInsert(int index, object value);
+ protected virtual void OnInsertComplete(int index, object value);
+ protected virtual void OnRemove(int index, object value);
+ protected virtual void OnRemoveComplete(int index, object value);
+ protected virtual void OnSet(int index, object oldValue, object newValue);
+ protected virtual void OnSetComplete(int index, object oldValue, object newValue);
+ protected virtual void OnValidate(object value);
+ public void RemoveAt(int index);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ int System.Collections.IList.Add(object value);
+ bool System.Collections.IList.Contains(object value);
+ int System.Collections.IList.IndexOf(object value);
+ void System.Collections.IList.Insert(int index, object value);
+ void System.Collections.IList.Remove(object value);
+ }
+ public sealed class Comparer : IComparer {
+ public static readonly Comparer Default;
+ public static readonly Comparer DefaultInvariant;
+ public Comparer(CultureInfo culture);
+ public int Compare(object a, object b);
+ }
+ public abstract class DictionaryBase : ICollection, IDictionary, IEnumerable {
+ protected DictionaryBase();
+ public int Count { get; }
+ protected IDictionary Dictionary { get; }
+ protected Hashtable InnerHashtable { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IDictionary.IsFixedSize { get; }
+ bool System.Collections.IDictionary.IsReadOnly { get; }
+ object System.Collections.IDictionary.this[object key] { get; set; }
+ ICollection System.Collections.IDictionary.Keys { get; }
+ ICollection System.Collections.IDictionary.Values { get; }
+ public void Clear();
+ public void CopyTo(Array array, int index);
+ public IDictionaryEnumerator GetEnumerator();
+ protected virtual void OnClear();
+ protected virtual void OnClearComplete();
+ protected virtual object OnGet(object key, object currentValue);
+ protected virtual void OnInsert(object key, object value);
+ protected virtual void OnInsertComplete(object key, object value);
+ protected virtual void OnRemove(object key, object value);
+ protected virtual void OnRemoveComplete(object key, object value);
+ protected virtual void OnSet(object key, object oldValue, object newValue);
+ protected virtual void OnSetComplete(object key, object oldValue, object newValue);
+ protected virtual void OnValidate(object key, object value);
+ void System.Collections.IDictionary.Add(object key, object value);
+ bool System.Collections.IDictionary.Contains(object key);
+ void System.Collections.IDictionary.Remove(object key);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct DictionaryEntry {
+ public DictionaryEntry(object key, object value);
+ public object Key { get; set; }
+ public object Value { get; set; }
+ }
+ public class Hashtable : ICollection, IDictionary, IEnumerable {
+ public Hashtable();
+ public Hashtable(IDictionary d);
+ public Hashtable(IDictionary d, IEqualityComparer equalityComparer);
+ public Hashtable(IDictionary d, float loadFactor);
+ public Hashtable(IDictionary d, float loadFactor, IEqualityComparer equalityComparer);
+ public Hashtable(IEqualityComparer equalityComparer);
+ public Hashtable(int capacity);
+ public Hashtable(int capacity, IEqualityComparer equalityComparer);
+ public Hashtable(int capacity, float loadFactor);
+ public Hashtable(int capacity, float loadFactor, IEqualityComparer equalityComparer);
+ public virtual int Count { get; }
+ protected IEqualityComparer EqualityComparer { get; }
+ public virtual bool IsFixedSize { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual bool IsSynchronized { get; }
+ public virtual ICollection Keys { get; }
+ public virtual object SyncRoot { get; }
+ public virtual object this[object key] { get; set; }
+ public virtual ICollection Values { get; }
+ public virtual void Add(object key, object value);
+ public virtual void Clear();
+ public virtual object Clone();
+ public virtual bool Contains(object key);
+ public virtual bool ContainsKey(object key);
+ public virtual bool ContainsValue(object value);
+ public virtual void CopyTo(Array array, int arrayIndex);
+ public virtual IDictionaryEnumerator GetEnumerator();
+ protected virtual int GetHash(object key);
+ protected virtual bool KeyEquals(object item, object key);
+ public virtual void Remove(object key);
+ public static Hashtable Synchronized(Hashtable table);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public interface ICollection : IEnumerable {
+ int Count { get; }
+ bool IsSynchronized { get; }
+ object SyncRoot { get; }
+ void CopyTo(Array array, int index);
+ }
+ public interface IComparer {
+ int Compare(object x, object y);
+ }
+ public interface IDictionary : ICollection, IEnumerable {
+ bool IsFixedSize { get; }
+ bool IsReadOnly { get; }
+ ICollection Keys { get; }
+ object this[object key] { get; set; }
+ ICollection Values { get; }
+ void Add(object key, object value);
+ void Clear();
+ bool Contains(object key);
+ new IDictionaryEnumerator GetEnumerator();
+ void Remove(object key);
+ }
+ public interface IDictionaryEnumerator : IEnumerator {
+ DictionaryEntry Entry { get; }
+ object Key { get; }
+ object Value { get; }
+ }
+ public interface IEnumerable {
+ IEnumerator GetEnumerator();
+ }
+ public interface IEnumerator {
+ object Current { get; }
+ bool MoveNext();
+ void Reset();
+ }
+ public interface IEqualityComparer {
+ bool Equals(object x, object y);
+ int GetHashCode(object obj);
+ }
+ public interface IList : ICollection, IEnumerable {
+ bool IsFixedSize { get; }
+ bool IsReadOnly { get; }
+ object this[int index] { get; set; }
+ int Add(object value);
+ void Clear();
+ bool Contains(object value);
+ int IndexOf(object value);
+ void Insert(int index, object value);
+ void Remove(object value);
+ void RemoveAt(int index);
+ }
+ public interface IStructuralComparable {
+ int CompareTo(object other, IComparer comparer);
+ }
+ public interface IStructuralEquatable {
+ bool Equals(object other, IEqualityComparer comparer);
+ int GetHashCode(IEqualityComparer comparer);
+ }
+ public class Queue : ICollection, IEnumerable {
+ public Queue();
+ public Queue(ICollection col);
+ public Queue(int capacity);
+ public Queue(int capacity, float growFactor);
+ public virtual int Count { get; }
+ public virtual bool IsSynchronized { get; }
+ public virtual object SyncRoot { get; }
+ public virtual void Clear();
+ public virtual object Clone();
+ public virtual bool Contains(object obj);
+ public virtual void CopyTo(Array array, int index);
+ public virtual object Dequeue();
+ public virtual void Enqueue(object obj);
+ public virtual IEnumerator GetEnumerator();
+ public virtual object Peek();
+ public static Queue Synchronized(Queue queue);
+ public virtual object[] ToArray();
+ public virtual void TrimToSize();
+ }
+ public abstract class ReadOnlyCollectionBase : ICollection, IEnumerable {
+ protected ReadOnlyCollectionBase();
+ public virtual int Count { get; }
+ protected ArrayList InnerList { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public virtual IEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ }
+ public class SortedList : ICollection, IDictionary, IEnumerable {
+ public SortedList();
+ public SortedList(IComparer comparer);
+ public SortedList(IComparer comparer, int capacity);
+ public SortedList(IDictionary d);
+ public SortedList(IDictionary d, IComparer comparer);
+ public SortedList(int initialCapacity);
+ public virtual int Capacity { get; set; }
+ public virtual int Count { get; }
+ public virtual bool IsFixedSize { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual bool IsSynchronized { get; }
+ public virtual ICollection Keys { get; }
+ public virtual object SyncRoot { get; }
+ public virtual object this[object key] { get; set; }
+ public virtual ICollection Values { get; }
+ public virtual void Add(object key, object value);
+ public virtual void Clear();
+ public virtual object Clone();
+ public virtual bool Contains(object key);
+ public virtual bool ContainsKey(object key);
+ public virtual bool ContainsValue(object value);
+ public virtual void CopyTo(Array array, int arrayIndex);
+ public virtual object GetByIndex(int index);
+ public virtual IDictionaryEnumerator GetEnumerator();
+ public virtual object GetKey(int index);
+ public virtual IList GetKeyList();
+ public virtual IList GetValueList();
+ public virtual int IndexOfKey(object key);
+ public virtual int IndexOfValue(object value);
+ public virtual void Remove(object key);
+ public virtual void RemoveAt(int index);
+ public virtual void SetByIndex(int index, object value);
+ public static SortedList Synchronized(SortedList list);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public virtual void TrimToSize();
+ }
+ public class Stack : ICollection, IEnumerable {
+ public Stack();
+ public Stack(ICollection col);
+ public Stack(int initialCapacity);
+ public virtual int Count { get; }
+ public virtual bool IsSynchronized { get; }
+ public virtual object SyncRoot { get; }
+ public virtual void Clear();
+ public virtual object Clone();
+ public virtual bool Contains(object obj);
+ public virtual void CopyTo(Array array, int index);
+ public virtual IEnumerator GetEnumerator();
+ public virtual object Peek();
+ public virtual object Pop();
+ public virtual void Push(object obj);
+ public static Stack Synchronized(Stack stack);
+ public virtual object[] ToArray();
+ }
+ public static class StructuralComparisons {
+ public static IComparer StructuralComparer { get; }
+ public static IEqualityComparer StructuralEqualityComparer { get; }
+ }
+}
```
# System.Collections
``` diff
+namespace System.Collections {
+ public class ArrayList : ICollection, IEnumerable, IList {
+ public ArrayList();
+ public ArrayList(ICollection c);
+ public ArrayList(int capacity);
+ public virtual int Capacity { get; set; }
+ public virtual int Count { get; }
+ public virtual bool IsFixedSize { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual bool IsSynchronized { get; }
+ public virtual object SyncRoot { get; }
+ public virtual object this[int index] { get; set; }
+ public static ArrayList Adapter(IList list);
+ public virtual int Add(object value);
+ public virtual void AddRange(ICollection c);
+ public virtual int BinarySearch(int index, int count, object value, IComparer comparer);
+ public virtual int BinarySearch(object value);
+ public virtual int BinarySearch(object value, IComparer comparer);
+ public virtual void Clear();
+ public virtual object Clone();
+ public virtual bool Contains(object item);
+ public virtual void CopyTo(Array array);
+ public virtual void CopyTo(Array array, int arrayIndex);
+ public virtual void CopyTo(int index, Array array, int arrayIndex, int count);
+ public static ArrayList FixedSize(ArrayList list);
+ public static IList FixedSize(IList list);
+ public virtual IEnumerator GetEnumerator();
+ public virtual IEnumerator GetEnumerator(int index, int count);
+ public virtual ArrayList GetRange(int index, int count);
+ public virtual int IndexOf(object value);
+ public virtual int IndexOf(object value, int startIndex);
+ public virtual int IndexOf(object value, int startIndex, int count);
+ public virtual void Insert(int index, object value);
+ public virtual void InsertRange(int index, ICollection c);
+ public virtual int LastIndexOf(object value);
+ public virtual int LastIndexOf(object value, int startIndex);
+ public virtual int LastIndexOf(object value, int startIndex, int count);
+ public static ArrayList ReadOnly(ArrayList list);
+ public static IList ReadOnly(IList list);
+ public virtual void Remove(object obj);
+ public virtual void RemoveAt(int index);
+ public virtual void RemoveRange(int index, int count);
+ public static ArrayList Repeat(object value, int count);
+ public virtual void Reverse();
+ public virtual void Reverse(int index, int count);
+ public virtual void SetRange(int index, ICollection c);
+ public virtual void Sort();
+ public virtual void Sort(IComparer comparer);
+ public virtual void Sort(int index, int count, IComparer comparer);
+ public static ArrayList Synchronized(ArrayList list);
+ public static IList Synchronized(IList list);
+ public virtual object[] ToArray();
+ public virtual Array ToArray(Type type);
+ public virtual void TrimToSize();
+ }
+ public sealed class BitArray : ICollection, IEnumerable {
+ public BitArray(bool[] values);
+ public BitArray(byte[] bytes);
+ public BitArray(BitArray bits);
+ public BitArray(int length);
+ public BitArray(int length, bool defaultValue);
+ public BitArray(int[] values);
+ public int Count { get; }
+ public bool IsReadOnly { get; }
+ public bool IsSynchronized { get; }
+ public int Length { get; set; }
+ public object SyncRoot { get; }
+ int System.Collections.ICollection.Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public bool this[int index] { get; set; }
+ public BitArray And(BitArray value);
+ public object Clone();
+ public void CopyTo(Array array, int index);
+ public bool Get(int index);
+ public IEnumerator GetEnumerator();
+ public BitArray Not();
+ public BitArray Or(BitArray value);
+ public void Set(int index, bool value);
+ public void SetAll(bool value);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ public BitArray Xor(BitArray value);
+ }
+ public class CaseInsensitiveComparer : IComparer {
+ public CaseInsensitiveComparer();
+ public CaseInsensitiveComparer(CultureInfo culture);
+ public static CaseInsensitiveComparer Default { get; }
+ public static CaseInsensitiveComparer DefaultInvariant { get; }
+ public int Compare(object a, object b);
+ }
+ public abstract class CollectionBase : ICollection, IEnumerable, IList {
+ protected CollectionBase();
+ protected CollectionBase(int capacity);
+ public int Capacity { get; set; }
+ public int Count { get; }
+ protected ArrayList InnerList { get; }
+ protected IList List { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IList.IsFixedSize { get; }
+ bool System.Collections.IList.IsReadOnly { get; }
+ object System.Collections.IList.this[int index] { get; set; }
+ public void Clear();
+ public IEnumerator GetEnumerator();
+ protected virtual void OnClear();
+ protected virtual void OnClearComplete();
+ protected virtual void OnInsert(int index, object value);
+ protected virtual void OnInsertComplete(int index, object value);
+ protected virtual void OnRemove(int index, object value);
+ protected virtual void OnRemoveComplete(int index, object value);
+ protected virtual void OnSet(int index, object oldValue, object newValue);
+ protected virtual void OnSetComplete(int index, object oldValue, object newValue);
+ protected virtual void OnValidate(object value);
+ public void RemoveAt(int index);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ int System.Collections.IList.Add(object value);
+ bool System.Collections.IList.Contains(object value);
+ int System.Collections.IList.IndexOf(object value);
+ void System.Collections.IList.Insert(int index, object value);
+ void System.Collections.IList.Remove(object value);
+ }
+ public sealed class Comparer : IComparer {
+ public static readonly Comparer Default;
+ public static readonly Comparer DefaultInvariant;
+ public Comparer(CultureInfo culture);
+ public int Compare(object a, object b);
+ }
+ public abstract class DictionaryBase : ICollection, IDictionary, IEnumerable {
+ protected DictionaryBase();
+ public int Count { get; }
+ protected IDictionary Dictionary { get; }
+ protected Hashtable InnerHashtable { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IDictionary.IsFixedSize { get; }
+ bool System.Collections.IDictionary.IsReadOnly { get; }
+ object System.Collections.IDictionary.this[object key] { get; set; }
+ ICollection System.Collections.IDictionary.Keys { get; }
+ ICollection System.Collections.IDictionary.Values { get; }
+ public void Clear();
+ public void CopyTo(Array array, int index);
+ public IDictionaryEnumerator GetEnumerator();
+ protected virtual void OnClear();
+ protected virtual void OnClearComplete();
+ protected virtual object OnGet(object key, object currentValue);
+ protected virtual void OnInsert(object key, object value);
+ protected virtual void OnInsertComplete(object key, object value);
+ protected virtual void OnRemove(object key, object value);
+ protected virtual void OnRemoveComplete(object key, object value);
+ protected virtual void OnSet(object key, object oldValue, object newValue);
+ protected virtual void OnSetComplete(object key, object oldValue, object newValue);
+ protected virtual void OnValidate(object key, object value);
+ void System.Collections.IDictionary.Add(object key, object value);
+ bool System.Collections.IDictionary.Contains(object key);
+ void System.Collections.IDictionary.Remove(object key);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct DictionaryEntry {
+ public DictionaryEntry(object key, object value);
+ public object Key { get; set; }
+ public object Value { get; set; }
+ }
+ public class Hashtable : ICollection, IDictionary, IEnumerable {
+ public Hashtable();
+ public Hashtable(IDictionary d);
+ public Hashtable(IDictionary d, IEqualityComparer equalityComparer);
+ public Hashtable(IDictionary d, float loadFactor);
+ public Hashtable(IDictionary d, float loadFactor, IEqualityComparer equalityComparer);
+ public Hashtable(IEqualityComparer equalityComparer);
+ public Hashtable(int capacity);
+ public Hashtable(int capacity, IEqualityComparer equalityComparer);
+ public Hashtable(int capacity, float loadFactor);
+ public Hashtable(int capacity, float loadFactor, IEqualityComparer equalityComparer);
+ public virtual int Count { get; }
+ protected IEqualityComparer EqualityComparer { get; }
+ public virtual bool IsFixedSize { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual bool IsSynchronized { get; }
+ public virtual ICollection Keys { get; }
+ public virtual object SyncRoot { get; }
+ public virtual object this[object key] { get; set; }
+ public virtual ICollection Values { get; }
+ public virtual void Add(object key, object value);
+ public virtual void Clear();
+ public virtual object Clone();
+ public virtual bool Contains(object key);
+ public virtual bool ContainsKey(object key);
+ public virtual bool ContainsValue(object value);
+ public virtual void CopyTo(Array array, int arrayIndex);
+ public virtual IDictionaryEnumerator GetEnumerator();
+ protected virtual int GetHash(object key);
+ protected virtual bool KeyEquals(object item, object key);
+ public virtual void Remove(object key);
+ public static Hashtable Synchronized(Hashtable table);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public interface ICollection : IEnumerable {
+ int Count { get; }
+ bool IsSynchronized { get; }
+ object SyncRoot { get; }
+ void CopyTo(Array array, int index);
+ }
+ public interface IComparer {
+ int Compare(object x, object y);
+ }
+ public interface IDictionary : ICollection, IEnumerable {
+ bool IsFixedSize { get; }
+ bool IsReadOnly { get; }
+ ICollection Keys { get; }
+ object this[object key] { get; set; }
+ ICollection Values { get; }
+ void Add(object key, object value);
+ void Clear();
+ bool Contains(object key);
+ new IDictionaryEnumerator GetEnumerator();
+ void Remove(object key);
+ }
+ public interface IDictionaryEnumerator : IEnumerator {
+ DictionaryEntry Entry { get; }
+ object Key { get; }
+ object Value { get; }
+ }
+ public interface IEnumerable {
+ IEnumerator GetEnumerator();
+ }
+ public interface IEnumerator {
+ object Current { get; }
+ bool MoveNext();
+ void Reset();
+ }
+ public interface IEqualityComparer {
+ bool Equals(object x, object y);
+ int GetHashCode(object obj);
+ }
+ public interface IList : ICollection, IEnumerable {
+ bool IsFixedSize { get; }
+ bool IsReadOnly { get; }
+ object this[int index] { get; set; }
+ int Add(object value);
+ void Clear();
+ bool Contains(object value);
+ int IndexOf(object value);
+ void Insert(int index, object value);
+ void Remove(object value);
+ void RemoveAt(int index);
+ }
+ public interface IStructuralComparable {
+ int CompareTo(object other, IComparer comparer);
+ }
+ public interface IStructuralEquatable {
+ bool Equals(object other, IEqualityComparer comparer);
+ int GetHashCode(IEqualityComparer comparer);
+ }
+ public class Queue : ICollection, IEnumerable {
+ public Queue();
+ public Queue(ICollection col);
+ public Queue(int capacity);
+ public Queue(int capacity, float growFactor);
+ public virtual int Count { get; }
+ public virtual bool IsSynchronized { get; }
+ public virtual object SyncRoot { get; }
+ public virtual void Clear();
+ public virtual object Clone();
+ public virtual bool Contains(object obj);
+ public virtual void CopyTo(Array array, int index);
+ public virtual object Dequeue();
+ public virtual void Enqueue(object obj);
+ public virtual IEnumerator GetEnumerator();
+ public virtual object Peek();
+ public static Queue Synchronized(Queue queue);
+ public virtual object[] ToArray();
+ public virtual void TrimToSize();
+ }
+ public abstract class ReadOnlyCollectionBase : ICollection, IEnumerable {
+ protected ReadOnlyCollectionBase();
+ public virtual int Count { get; }
+ protected ArrayList InnerList { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public virtual IEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ }
+ public class SortedList : ICollection, IDictionary, IEnumerable {
+ public SortedList();
+ public SortedList(IComparer comparer);
+ public SortedList(IComparer comparer, int capacity);
+ public SortedList(IDictionary d);
+ public SortedList(IDictionary d, IComparer comparer);
+ public SortedList(int initialCapacity);
+ public virtual int Capacity { get; set; }
+ public virtual int Count { get; }
+ public virtual bool IsFixedSize { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual bool IsSynchronized { get; }
+ public virtual ICollection Keys { get; }
+ public virtual object SyncRoot { get; }
+ public virtual object this[object key] { get; set; }
+ public virtual ICollection Values { get; }
+ public virtual void Add(object key, object value);
+ public virtual void Clear();
+ public virtual object Clone();
+ public virtual bool Contains(object key);
+ public virtual bool ContainsKey(object key);
+ public virtual bool ContainsValue(object value);
+ public virtual void CopyTo(Array array, int arrayIndex);
+ public virtual object GetByIndex(int index);
+ public virtual IDictionaryEnumerator GetEnumerator();
+ public virtual object GetKey(int index);
+ public virtual IList GetKeyList();
+ public virtual IList GetValueList();
+ public virtual int IndexOfKey(object key);
+ public virtual int IndexOfValue(object value);
+ public virtual void Remove(object key);
+ public virtual void RemoveAt(int index);
+ public virtual void SetByIndex(int index, object value);
+ public static SortedList Synchronized(SortedList list);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public virtual void TrimToSize();
+ }
+ public class Stack : ICollection, IEnumerable {
+ public Stack();
+ public Stack(ICollection col);
+ public Stack(int initialCapacity);
+ public virtual int Count { get; }
+ public virtual bool IsSynchronized { get; }
+ public virtual object SyncRoot { get; }
+ public virtual void Clear();
+ public virtual object Clone();
+ public virtual bool Contains(object obj);
+ public virtual void CopyTo(Array array, int index);
+ public virtual IEnumerator GetEnumerator();
+ public virtual object Peek();
+ public virtual object Pop();
+ public virtual void Push(object obj);
+ public static Stack Synchronized(Stack stack);
+ public virtual object[] ToArray();
+ }
+ public static class StructuralComparisons {
+ public static IComparer StructuralComparer { get; }
+ public static IEqualityComparer StructuralEqualityComparer { get; }
+ }
+}
```

View File

@@ -1,42 +1,42 @@
# System.ComponentModel.DataAnnotations.Schema
``` diff
+namespace System.ComponentModel.DataAnnotations.Schema {
+ public class ColumnAttribute : Attribute {
+ public ColumnAttribute();
+ public ColumnAttribute(string name);
+ public string Name { get; }
+ public int Order { get; set; }
+ public string TypeName { get; set; }
+ }
+ public class ComplexTypeAttribute : Attribute {
+ public ComplexTypeAttribute();
+ }
+ public class DatabaseGeneratedAttribute : Attribute {
+ public DatabaseGeneratedAttribute(DatabaseGeneratedOption databaseGeneratedOption);
+ public DatabaseGeneratedOption DatabaseGeneratedOption { get; }
+ }
+ public enum DatabaseGeneratedOption {
+ Computed = 2,
+ Identity = 1,
+ None = 0,
+ }
+ public class ForeignKeyAttribute : Attribute {
+ public ForeignKeyAttribute(string name);
+ public string Name { get; }
+ }
+ public class InversePropertyAttribute : Attribute {
+ public InversePropertyAttribute(string property);
+ public string Property { get; }
+ }
+ public class NotMappedAttribute : Attribute {
+ public NotMappedAttribute();
+ }
+ public class TableAttribute : Attribute {
+ public TableAttribute(string name);
+ public string Name { get; }
+ public string Schema { get; set; }
+ }
+}
```
# System.ComponentModel.DataAnnotations.Schema
``` diff
+namespace System.ComponentModel.DataAnnotations.Schema {
+ public class ColumnAttribute : Attribute {
+ public ColumnAttribute();
+ public ColumnAttribute(string name);
+ public string Name { get; }
+ public int Order { get; set; }
+ public string TypeName { get; set; }
+ }
+ public class ComplexTypeAttribute : Attribute {
+ public ComplexTypeAttribute();
+ }
+ public class DatabaseGeneratedAttribute : Attribute {
+ public DatabaseGeneratedAttribute(DatabaseGeneratedOption databaseGeneratedOption);
+ public DatabaseGeneratedOption DatabaseGeneratedOption { get; }
+ }
+ public enum DatabaseGeneratedOption {
+ Computed = 2,
+ Identity = 1,
+ None = 0,
+ }
+ public class ForeignKeyAttribute : Attribute {
+ public ForeignKeyAttribute(string name);
+ public string Name { get; }
+ }
+ public class InversePropertyAttribute : Attribute {
+ public InversePropertyAttribute(string property);
+ public string Property { get; }
+ }
+ public class NotMappedAttribute : Attribute {
+ public NotMappedAttribute();
+ }
+ public class TableAttribute : Attribute {
+ public TableAttribute(string name);
+ public string Name { get; }
+ public string Schema { get; set; }
+ }
+}
```

View File

@@ -1,262 +1,262 @@
# System.ComponentModel.DataAnnotations
``` diff
+namespace System.ComponentModel.DataAnnotations {
+ public sealed class AssociationAttribute : Attribute {
+ public AssociationAttribute(string name, string thisKey, string otherKey);
+ public bool IsForeignKey { get; set; }
+ public string Name { get; }
+ public string OtherKey { get; }
+ public IEnumerable<string> OtherKeyMembers { get; }
+ public string ThisKey { get; }
+ public IEnumerable<string> ThisKeyMembers { get; }
+ }
+ public class CompareAttribute : ValidationAttribute {
+ public CompareAttribute(string otherProperty);
+ public string OtherProperty { get; }
+ public string OtherPropertyDisplayName { get; }
+ public override bool RequiresValidationContext { get; }
+ public override string FormatErrorMessage(string name);
+ protected override ValidationResult IsValid(object value, ValidationContext validationContext);
+ }
+ public sealed class ConcurrencyCheckAttribute : Attribute {
+ public ConcurrencyCheckAttribute();
+ }
+ public sealed class CreditCardAttribute : DataTypeAttribute {
+ public CreditCardAttribute();
+ public override bool IsValid(object value);
+ }
+ public sealed class CustomValidationAttribute : ValidationAttribute {
+ public CustomValidationAttribute(Type validatorType, string method);
+ public string Method { get; }
+ public Type ValidatorType { get; }
+ public override string FormatErrorMessage(string name);
+ protected override ValidationResult IsValid(object value, ValidationContext validationContext);
+ }
+ public enum DataType {
+ CreditCard = 14,
+ Currency = 6,
+ Custom = 0,
+ Date = 2,
+ DateTime = 1,
+ Duration = 4,
+ EmailAddress = 10,
+ Html = 8,
+ ImageUrl = 13,
+ MultilineText = 9,
+ Password = 11,
+ PhoneNumber = 5,
+ PostalCode = 15,
+ Text = 7,
+ Time = 3,
+ Upload = 16,
+ Url = 12,
+ }
+ public class DataTypeAttribute : ValidationAttribute {
+ public DataTypeAttribute(DataType dataType);
+ public DataTypeAttribute(string customDataType);
+ public string CustomDataType { get; }
+ public DataType DataType { get; }
+ public DisplayFormatAttribute DisplayFormat { get; protected set; }
+ public virtual string GetDataTypeName();
+ public override bool IsValid(object value);
+ }
+ public sealed class DisplayAttribute : Attribute {
+ public DisplayAttribute();
+ public bool AutoGenerateField { get; set; }
+ public bool AutoGenerateFilter { get; set; }
+ public string Description { get; set; }
+ public string GroupName { get; set; }
+ public string Name { get; set; }
+ public int Order { get; set; }
+ public string Prompt { get; set; }
+ public Type ResourceType { get; set; }
+ public string ShortName { get; set; }
+ public Nullable<bool> GetAutoGenerateField();
+ public Nullable<bool> GetAutoGenerateFilter();
+ public string GetDescription();
+ public string GetGroupName();
+ public string GetName();
+ public Nullable<int> GetOrder();
+ public string GetPrompt();
+ public string GetShortName();
+ }
+ public class DisplayColumnAttribute : Attribute {
+ public DisplayColumnAttribute(string displayColumn);
+ public DisplayColumnAttribute(string displayColumn, string sortColumn);
+ public DisplayColumnAttribute(string displayColumn, string sortColumn, bool sortDescending);
+ public string DisplayColumn { get; }
+ public string SortColumn { get; }
+ public bool SortDescending { get; }
+ }
+ public class DisplayFormatAttribute : Attribute {
+ public DisplayFormatAttribute();
+ public bool ApplyFormatInEditMode { get; set; }
+ public bool ConvertEmptyStringToNull { get; set; }
+ public string DataFormatString { get; set; }
+ public bool HtmlEncode { get; set; }
+ public string NullDisplayText { get; set; }
+ }
+ public sealed class EditableAttribute : Attribute {
+ public EditableAttribute(bool allowEdit);
+ public bool AllowEdit { get; }
+ public bool AllowInitialValue { get; set; }
+ }
+ public sealed class EmailAddressAttribute : DataTypeAttribute {
+ public EmailAddressAttribute();
+ public override bool IsValid(object value);
+ }
+ public sealed class EnumDataTypeAttribute : DataTypeAttribute {
+ public EnumDataTypeAttribute(Type enumType);
+ public Type EnumType { get; }
+ public override bool IsValid(object value);
+ }
+ public sealed class FileExtensionsAttribute : DataTypeAttribute {
+ public FileExtensionsAttribute();
+ public string Extensions { get; set; }
+ public override string FormatErrorMessage(string name);
+ public override bool IsValid(object value);
+ }
+ public sealed class FilterUIHintAttribute : Attribute {
+ public FilterUIHintAttribute(string filterUIHint);
+ public FilterUIHintAttribute(string filterUIHint, string presentationLayer);
+ public FilterUIHintAttribute(string filterUIHint, string presentationLayer, params object[] controlParameters);
+ public IDictionary<string, object> ControlParameters { get; }
+ public string FilterUIHint { get; }
+ public string PresentationLayer { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ }
+ public interface IValidatableObject {
+ IEnumerable<ValidationResult> Validate(ValidationContext validationContext);
+ }
+ public sealed class KeyAttribute : Attribute {
+ public KeyAttribute();
+ }
+ public class MaxLengthAttribute : ValidationAttribute {
+ public MaxLengthAttribute();
+ public MaxLengthAttribute(int length);
+ public int Length { get; }
+ public override string FormatErrorMessage(string name);
+ public override bool IsValid(object value);
+ }
+ public class MinLengthAttribute : ValidationAttribute {
+ public MinLengthAttribute(int length);
+ public int Length { get; }
+ public override string FormatErrorMessage(string name);
+ public override bool IsValid(object value);
+ }
+ public sealed class PhoneAttribute : DataTypeAttribute {
+ public PhoneAttribute();
+ public override bool IsValid(object value);
+ }
+ public class RangeAttribute : ValidationAttribute {
+ public RangeAttribute(double minimum, double maximum);
+ public RangeAttribute(int minimum, int maximum);
+ public RangeAttribute(Type type, string minimum, string maximum);
+ public object Maximum { get; }
+ public object Minimum { get; }
+ public Type OperandType { get; }
+ public override string FormatErrorMessage(string name);
+ public override bool IsValid(object value);
+ }
+ public class RegularExpressionAttribute : ValidationAttribute {
+ public RegularExpressionAttribute(string pattern);
+ public int MatchTimeoutInMilliseconds { get; set; }
+ public string Pattern { get; }
+ public override string FormatErrorMessage(string name);
+ public override bool IsValid(object value);
+ }
+ public class RequiredAttribute : ValidationAttribute {
+ public RequiredAttribute();
+ public bool AllowEmptyStrings { get; set; }
+ public override bool IsValid(object value);
+ }
+ public class ScaffoldColumnAttribute : Attribute {
+ public ScaffoldColumnAttribute(bool scaffold);
+ public bool Scaffold { get; }
+ }
+ public class StringLengthAttribute : ValidationAttribute {
+ public StringLengthAttribute(int maximumLength);
+ public int MaximumLength { get; }
+ public int MinimumLength { get; set; }
+ public override string FormatErrorMessage(string name);
+ public override bool IsValid(object value);
+ }
+ public sealed class TimestampAttribute : Attribute {
+ public TimestampAttribute();
+ }
+ public class UIHintAttribute : Attribute {
+ public UIHintAttribute(string uiHint);
+ public UIHintAttribute(string uiHint, string presentationLayer);
+ public UIHintAttribute(string uiHint, string presentationLayer, params object[] controlParameters);
+ public IDictionary<string, object> ControlParameters { get; }
+ public string PresentationLayer { get; }
+ public string UIHint { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ }
+ public sealed class UrlAttribute : DataTypeAttribute {
+ public UrlAttribute();
+ public override bool IsValid(object value);
+ }
+ public abstract class ValidationAttribute : Attribute {
+ protected ValidationAttribute();
+ protected ValidationAttribute(Func<string> errorMessageAccessor);
+ protected ValidationAttribute(string errorMessage);
+ public string ErrorMessage { get; set; }
+ public string ErrorMessageResourceName { get; set; }
+ public Type ErrorMessageResourceType { get; set; }
+ protected string ErrorMessageString { get; }
+ public virtual bool RequiresValidationContext { get; }
+ public virtual string FormatErrorMessage(string name);
+ public ValidationResult GetValidationResult(object value, ValidationContext validationContext);
+ public virtual bool IsValid(object value);
+ protected virtual ValidationResult IsValid(object value, ValidationContext validationContext);
+ public void Validate(object value, ValidationContext validationContext);
+ public void Validate(object value, string name);
+ }
+ public sealed class ValidationContext : IServiceProvider {
+ public ValidationContext(object instance);
+ public ValidationContext(object instance, IDictionary<object, object> items);
+ public ValidationContext(object instance, IServiceProvider serviceProvider, IDictionary<object, object> items);
+ public string DisplayName { get; set; }
+ public IDictionary<object, object> Items { get; }
+ public string MemberName { get; set; }
+ public object ObjectInstance { get; }
+ public Type ObjectType { get; }
+ public object GetService(Type serviceType);
+ public void InitializeServiceProvider(Func<Type, object> serviceProvider);
+ }
+ public class ValidationException : Exception {
+ public ValidationException();
+ public ValidationException(ValidationResult validationResult, ValidationAttribute validatingAttribute, object value);
+ public ValidationException(string message);
+ public ValidationException(string errorMessage, ValidationAttribute validatingAttribute, object value);
+ public ValidationException(string message, Exception innerException);
+ public ValidationAttribute ValidationAttribute { get; }
+ public ValidationResult ValidationResult { get; }
+ public object Value { get; }
+ }
+ public class ValidationResult {
+ public static readonly ValidationResult Success;
+ protected ValidationResult(ValidationResult validationResult);
+ public ValidationResult(string errorMessage);
+ public ValidationResult(string errorMessage, IEnumerable<string> memberNames);
+ public string ErrorMessage { get; set; }
+ public IEnumerable<string> MemberNames { get; }
+ public override string ToString();
+ }
+ public static class Validator {
+ public static bool TryValidateObject(object instance, ValidationContext validationContext, ICollection<ValidationResult> validationResults);
+ public static bool TryValidateObject(object instance, ValidationContext validationContext, ICollection<ValidationResult> validationResults, bool validateAllProperties);
+ public static bool TryValidateProperty(object value, ValidationContext validationContext, ICollection<ValidationResult> validationResults);
+ public static bool TryValidateValue(object value, ValidationContext validationContext, ICollection<ValidationResult> validationResults, IEnumerable<ValidationAttribute> validationAttributes);
+ public static void ValidateObject(object instance, ValidationContext validationContext);
+ public static void ValidateObject(object instance, ValidationContext validationContext, bool validateAllProperties);
+ public static void ValidateProperty(object value, ValidationContext validationContext);
+ public static void ValidateValue(object value, ValidationContext validationContext, IEnumerable<ValidationAttribute> validationAttributes);
+ }
+}
```
# System.ComponentModel.DataAnnotations
``` diff
+namespace System.ComponentModel.DataAnnotations {
+ public sealed class AssociationAttribute : Attribute {
+ public AssociationAttribute(string name, string thisKey, string otherKey);
+ public bool IsForeignKey { get; set; }
+ public string Name { get; }
+ public string OtherKey { get; }
+ public IEnumerable<string> OtherKeyMembers { get; }
+ public string ThisKey { get; }
+ public IEnumerable<string> ThisKeyMembers { get; }
+ }
+ public class CompareAttribute : ValidationAttribute {
+ public CompareAttribute(string otherProperty);
+ public string OtherProperty { get; }
+ public string OtherPropertyDisplayName { get; }
+ public override bool RequiresValidationContext { get; }
+ public override string FormatErrorMessage(string name);
+ protected override ValidationResult IsValid(object value, ValidationContext validationContext);
+ }
+ public sealed class ConcurrencyCheckAttribute : Attribute {
+ public ConcurrencyCheckAttribute();
+ }
+ public sealed class CreditCardAttribute : DataTypeAttribute {
+ public CreditCardAttribute();
+ public override bool IsValid(object value);
+ }
+ public sealed class CustomValidationAttribute : ValidationAttribute {
+ public CustomValidationAttribute(Type validatorType, string method);
+ public string Method { get; }
+ public Type ValidatorType { get; }
+ public override string FormatErrorMessage(string name);
+ protected override ValidationResult IsValid(object value, ValidationContext validationContext);
+ }
+ public enum DataType {
+ CreditCard = 14,
+ Currency = 6,
+ Custom = 0,
+ Date = 2,
+ DateTime = 1,
+ Duration = 4,
+ EmailAddress = 10,
+ Html = 8,
+ ImageUrl = 13,
+ MultilineText = 9,
+ Password = 11,
+ PhoneNumber = 5,
+ PostalCode = 15,
+ Text = 7,
+ Time = 3,
+ Upload = 16,
+ Url = 12,
+ }
+ public class DataTypeAttribute : ValidationAttribute {
+ public DataTypeAttribute(DataType dataType);
+ public DataTypeAttribute(string customDataType);
+ public string CustomDataType { get; }
+ public DataType DataType { get; }
+ public DisplayFormatAttribute DisplayFormat { get; protected set; }
+ public virtual string GetDataTypeName();
+ public override bool IsValid(object value);
+ }
+ public sealed class DisplayAttribute : Attribute {
+ public DisplayAttribute();
+ public bool AutoGenerateField { get; set; }
+ public bool AutoGenerateFilter { get; set; }
+ public string Description { get; set; }
+ public string GroupName { get; set; }
+ public string Name { get; set; }
+ public int Order { get; set; }
+ public string Prompt { get; set; }
+ public Type ResourceType { get; set; }
+ public string ShortName { get; set; }
+ public Nullable<bool> GetAutoGenerateField();
+ public Nullable<bool> GetAutoGenerateFilter();
+ public string GetDescription();
+ public string GetGroupName();
+ public string GetName();
+ public Nullable<int> GetOrder();
+ public string GetPrompt();
+ public string GetShortName();
+ }
+ public class DisplayColumnAttribute : Attribute {
+ public DisplayColumnAttribute(string displayColumn);
+ public DisplayColumnAttribute(string displayColumn, string sortColumn);
+ public DisplayColumnAttribute(string displayColumn, string sortColumn, bool sortDescending);
+ public string DisplayColumn { get; }
+ public string SortColumn { get; }
+ public bool SortDescending { get; }
+ }
+ public class DisplayFormatAttribute : Attribute {
+ public DisplayFormatAttribute();
+ public bool ApplyFormatInEditMode { get; set; }
+ public bool ConvertEmptyStringToNull { get; set; }
+ public string DataFormatString { get; set; }
+ public bool HtmlEncode { get; set; }
+ public string NullDisplayText { get; set; }
+ }
+ public sealed class EditableAttribute : Attribute {
+ public EditableAttribute(bool allowEdit);
+ public bool AllowEdit { get; }
+ public bool AllowInitialValue { get; set; }
+ }
+ public sealed class EmailAddressAttribute : DataTypeAttribute {
+ public EmailAddressAttribute();
+ public override bool IsValid(object value);
+ }
+ public sealed class EnumDataTypeAttribute : DataTypeAttribute {
+ public EnumDataTypeAttribute(Type enumType);
+ public Type EnumType { get; }
+ public override bool IsValid(object value);
+ }
+ public sealed class FileExtensionsAttribute : DataTypeAttribute {
+ public FileExtensionsAttribute();
+ public string Extensions { get; set; }
+ public override string FormatErrorMessage(string name);
+ public override bool IsValid(object value);
+ }
+ public sealed class FilterUIHintAttribute : Attribute {
+ public FilterUIHintAttribute(string filterUIHint);
+ public FilterUIHintAttribute(string filterUIHint, string presentationLayer);
+ public FilterUIHintAttribute(string filterUIHint, string presentationLayer, params object[] controlParameters);
+ public IDictionary<string, object> ControlParameters { get; }
+ public string FilterUIHint { get; }
+ public string PresentationLayer { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ }
+ public interface IValidatableObject {
+ IEnumerable<ValidationResult> Validate(ValidationContext validationContext);
+ }
+ public sealed class KeyAttribute : Attribute {
+ public KeyAttribute();
+ }
+ public class MaxLengthAttribute : ValidationAttribute {
+ public MaxLengthAttribute();
+ public MaxLengthAttribute(int length);
+ public int Length { get; }
+ public override string FormatErrorMessage(string name);
+ public override bool IsValid(object value);
+ }
+ public class MinLengthAttribute : ValidationAttribute {
+ public MinLengthAttribute(int length);
+ public int Length { get; }
+ public override string FormatErrorMessage(string name);
+ public override bool IsValid(object value);
+ }
+ public sealed class PhoneAttribute : DataTypeAttribute {
+ public PhoneAttribute();
+ public override bool IsValid(object value);
+ }
+ public class RangeAttribute : ValidationAttribute {
+ public RangeAttribute(double minimum, double maximum);
+ public RangeAttribute(int minimum, int maximum);
+ public RangeAttribute(Type type, string minimum, string maximum);
+ public object Maximum { get; }
+ public object Minimum { get; }
+ public Type OperandType { get; }
+ public override string FormatErrorMessage(string name);
+ public override bool IsValid(object value);
+ }
+ public class RegularExpressionAttribute : ValidationAttribute {
+ public RegularExpressionAttribute(string pattern);
+ public int MatchTimeoutInMilliseconds { get; set; }
+ public string Pattern { get; }
+ public override string FormatErrorMessage(string name);
+ public override bool IsValid(object value);
+ }
+ public class RequiredAttribute : ValidationAttribute {
+ public RequiredAttribute();
+ public bool AllowEmptyStrings { get; set; }
+ public override bool IsValid(object value);
+ }
+ public class ScaffoldColumnAttribute : Attribute {
+ public ScaffoldColumnAttribute(bool scaffold);
+ public bool Scaffold { get; }
+ }
+ public class StringLengthAttribute : ValidationAttribute {
+ public StringLengthAttribute(int maximumLength);
+ public int MaximumLength { get; }
+ public int MinimumLength { get; set; }
+ public override string FormatErrorMessage(string name);
+ public override bool IsValid(object value);
+ }
+ public sealed class TimestampAttribute : Attribute {
+ public TimestampAttribute();
+ }
+ public class UIHintAttribute : Attribute {
+ public UIHintAttribute(string uiHint);
+ public UIHintAttribute(string uiHint, string presentationLayer);
+ public UIHintAttribute(string uiHint, string presentationLayer, params object[] controlParameters);
+ public IDictionary<string, object> ControlParameters { get; }
+ public string PresentationLayer { get; }
+ public string UIHint { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ }
+ public sealed class UrlAttribute : DataTypeAttribute {
+ public UrlAttribute();
+ public override bool IsValid(object value);
+ }
+ public abstract class ValidationAttribute : Attribute {
+ protected ValidationAttribute();
+ protected ValidationAttribute(Func<string> errorMessageAccessor);
+ protected ValidationAttribute(string errorMessage);
+ public string ErrorMessage { get; set; }
+ public string ErrorMessageResourceName { get; set; }
+ public Type ErrorMessageResourceType { get; set; }
+ protected string ErrorMessageString { get; }
+ public virtual bool RequiresValidationContext { get; }
+ public virtual string FormatErrorMessage(string name);
+ public ValidationResult GetValidationResult(object value, ValidationContext validationContext);
+ public virtual bool IsValid(object value);
+ protected virtual ValidationResult IsValid(object value, ValidationContext validationContext);
+ public void Validate(object value, ValidationContext validationContext);
+ public void Validate(object value, string name);
+ }
+ public sealed class ValidationContext : IServiceProvider {
+ public ValidationContext(object instance);
+ public ValidationContext(object instance, IDictionary<object, object> items);
+ public ValidationContext(object instance, IServiceProvider serviceProvider, IDictionary<object, object> items);
+ public string DisplayName { get; set; }
+ public IDictionary<object, object> Items { get; }
+ public string MemberName { get; set; }
+ public object ObjectInstance { get; }
+ public Type ObjectType { get; }
+ public object GetService(Type serviceType);
+ public void InitializeServiceProvider(Func<Type, object> serviceProvider);
+ }
+ public class ValidationException : Exception {
+ public ValidationException();
+ public ValidationException(ValidationResult validationResult, ValidationAttribute validatingAttribute, object value);
+ public ValidationException(string message);
+ public ValidationException(string errorMessage, ValidationAttribute validatingAttribute, object value);
+ public ValidationException(string message, Exception innerException);
+ public ValidationAttribute ValidationAttribute { get; }
+ public ValidationResult ValidationResult { get; }
+ public object Value { get; }
+ }
+ public class ValidationResult {
+ public static readonly ValidationResult Success;
+ protected ValidationResult(ValidationResult validationResult);
+ public ValidationResult(string errorMessage);
+ public ValidationResult(string errorMessage, IEnumerable<string> memberNames);
+ public string ErrorMessage { get; set; }
+ public IEnumerable<string> MemberNames { get; }
+ public override string ToString();
+ }
+ public static class Validator {
+ public static bool TryValidateObject(object instance, ValidationContext validationContext, ICollection<ValidationResult> validationResults);
+ public static bool TryValidateObject(object instance, ValidationContext validationContext, ICollection<ValidationResult> validationResults, bool validateAllProperties);
+ public static bool TryValidateProperty(object value, ValidationContext validationContext, ICollection<ValidationResult> validationResults);
+ public static bool TryValidateValue(object value, ValidationContext validationContext, ICollection<ValidationResult> validationResults, IEnumerable<ValidationAttribute> validationAttributes);
+ public static void ValidateObject(object instance, ValidationContext validationContext);
+ public static void ValidateObject(object instance, ValidationContext validationContext, bool validateAllProperties);
+ public static void ValidateProperty(object value, ValidationContext validationContext);
+ public static void ValidateValue(object value, ValidationContext validationContext, IEnumerable<ValidationAttribute> validationAttributes);
+ }
+}
```

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +1,15 @@
# System.Configuration.Assemblies
``` diff
+namespace System.Configuration.Assemblies {
+ public enum AssemblyHashAlgorithm {
+ MD5 = 32771,
+ None = 0,
+ SHA1 = 32772,
+ SHA256 = 32780,
+ SHA384 = 32781,
+ SHA512 = 32782,
+ }
+}
```
# System.Configuration.Assemblies
``` diff
+namespace System.Configuration.Assemblies {
+ public enum AssemblyHashAlgorithm {
+ MD5 = 32771,
+ None = 0,
+ SHA1 = 32772,
+ SHA256 = 32780,
+ SHA384 = 32781,
+ SHA512 = 32782,
+ }
+}
```

View File

@@ -1,295 +1,295 @@
# System.Data.Common
``` diff
+namespace System.Data.Common {
+ public abstract class DbColumn {
+ protected DbColumn();
+ public Nullable<bool> AllowDBNull { get; protected set; }
+ public string BaseCatalogName { get; protected set; }
+ public string BaseColumnName { get; protected set; }
+ public string BaseSchemaName { get; protected set; }
+ public string BaseServerName { get; protected set; }
+ public string BaseTableName { get; protected set; }
+ public string ColumnName { get; protected set; }
+ public Nullable<int> ColumnOrdinal { get; protected set; }
+ public Nullable<int> ColumnSize { get; protected set; }
+ public Type DataType { get; protected set; }
+ public string DataTypeName { get; protected set; }
+ public Nullable<bool> IsAliased { get; protected set; }
+ public Nullable<bool> IsAutoIncrement { get; protected set; }
+ public Nullable<bool> IsExpression { get; protected set; }
+ public Nullable<bool> IsHidden { get; protected set; }
+ public Nullable<bool> IsIdentity { get; protected set; }
+ public Nullable<bool> IsKey { get; protected set; }
+ public Nullable<bool> IsLong { get; protected set; }
+ public Nullable<bool> IsReadOnly { get; protected set; }
+ public Nullable<bool> IsUnique { get; protected set; }
+ public Nullable<int> NumericPrecision { get; protected set; }
+ public Nullable<int> NumericScale { get; protected set; }
+ public virtual object this[string property] { get; }
+ public string UdtAssemblyQualifiedName { get; protected set; }
+ }
+ public abstract class DbCommand : IDbCommand, IDisposable {
+ protected DbCommand();
+ public abstract string CommandText { get; set; }
+ public abstract int CommandTimeout { get; set; }
+ public abstract CommandType CommandType { get; set; }
+ public DbConnection Connection { get; set; }
+ protected abstract DbConnection DbConnection { get; set; }
+ protected abstract DbParameterCollection DbParameterCollection { get; }
+ protected abstract DbTransaction DbTransaction { get; set; }
+ public abstract bool DesignTimeVisible { get; set; }
+ public DbParameterCollection Parameters { get; }
+ IDbConnection System.Data.IDbCommand.Connection { get; set; }
+ IDataParameterCollection System.Data.IDbCommand.Parameters { get; }
+ IDbTransaction System.Data.IDbCommand.Transaction { get; set; }
+ public DbTransaction Transaction { get; set; }
+ public abstract UpdateRowSource UpdatedRowSource { get; set; }
+ public abstract void Cancel();
+ protected abstract DbParameter CreateDbParameter();
+ public DbParameter CreateParameter();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ protected abstract DbDataReader ExecuteDbDataReader(CommandBehavior behavior);
+ protected virtual Task<DbDataReader> ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken);
+ public abstract int ExecuteNonQuery();
+ public Task<int> ExecuteNonQueryAsync();
+ public virtual Task<int> ExecuteNonQueryAsync(CancellationToken cancellationToken);
+ public DbDataReader ExecuteReader();
+ public DbDataReader ExecuteReader(CommandBehavior behavior);
+ public Task<DbDataReader> ExecuteReaderAsync();
+ public Task<DbDataReader> ExecuteReaderAsync(CommandBehavior behavior);
+ public Task<DbDataReader> ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken);
+ public Task<DbDataReader> ExecuteReaderAsync(CancellationToken cancellationToken);
+ public abstract object ExecuteScalar();
+ public Task<object> ExecuteScalarAsync();
+ public virtual Task<object> ExecuteScalarAsync(CancellationToken cancellationToken);
+ public abstract void Prepare();
+ IDbDataParameter System.Data.IDbCommand.CreateParameter();
+ IDataReader System.Data.IDbCommand.ExecuteReader();
+ IDataReader System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior);
+ }
+ public abstract class DbConnection : IDbConnection, IDisposable {
+ protected DbConnection();
+ public abstract string ConnectionString { get; set; }
+ public virtual int ConnectionTimeout { get; }
+ public abstract string Database { get; }
+ public abstract string DataSource { get; }
+ public abstract string ServerVersion { get; }
+ public abstract ConnectionState State { get; }
+ public virtual event StateChangeEventHandler StateChange;
+ protected abstract DbTransaction BeginDbTransaction(IsolationLevel isolationLevel);
+ public DbTransaction BeginTransaction();
+ public DbTransaction BeginTransaction(IsolationLevel isolationLevel);
+ public abstract void ChangeDatabase(string databaseName);
+ public abstract void Close();
+ public DbCommand CreateCommand();
+ protected abstract DbCommand CreateDbCommand();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ protected virtual void OnStateChange(StateChangeEventArgs stateChange);
+ public abstract void Open();
+ public Task OpenAsync();
+ public virtual Task OpenAsync(CancellationToken cancellationToken);
+ IDbTransaction System.Data.IDbConnection.BeginTransaction();
+ IDbTransaction System.Data.IDbConnection.BeginTransaction(IsolationLevel isolationLevel);
+ IDbCommand System.Data.IDbConnection.CreateCommand();
+ }
+ public class DbConnectionStringBuilder : ICollection, IDictionary, IEnumerable {
+ public DbConnectionStringBuilder();
+ public string ConnectionString { get; set; }
+ public virtual int Count { get; }
+ public virtual ICollection Keys { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IDictionary.IsFixedSize { get; }
+ bool System.Collections.IDictionary.IsReadOnly { get; }
+ object System.Collections.IDictionary.this[object keyword] { get; set; }
+ public virtual object this[string keyword] { get; set; }
+ public virtual ICollection Values { get; }
+ public void Add(string keyword, object value);
+ public static void AppendKeyValuePair(StringBuilder builder, string keyword, string value);
+ public virtual void Clear();
+ public virtual bool ContainsKey(string keyword);
+ public virtual bool EquivalentTo(DbConnectionStringBuilder connectionStringBuilder);
+ public virtual bool Remove(string keyword);
+ public virtual bool ShouldSerialize(string keyword);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ void System.Collections.IDictionary.Add(object keyword, object value);
+ bool System.Collections.IDictionary.Contains(object keyword);
+ IDictionaryEnumerator System.Collections.IDictionary.GetEnumerator();
+ void System.Collections.IDictionary.Remove(object keyword);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public override string ToString();
+ public virtual bool TryGetValue(string keyword, out object value);
+ }
+ public abstract class DbDataReader : IDataReader, IDataRecord, IDisposable, IEnumerable {
+ protected DbDataReader();
+ public abstract int Depth { get; }
+ public abstract int FieldCount { get; }
+ public abstract bool HasRows { get; }
+ public abstract bool IsClosed { get; }
+ public abstract int RecordsAffected { get; }
+ public abstract object this[int ordinal] { get; }
+ public abstract object this[string name] { get; }
+ public virtual int VisibleFieldCount { get; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public abstract bool GetBoolean(int ordinal);
+ public abstract byte GetByte(int ordinal);
+ public abstract long GetBytes(int ordinal, long dataOffset, byte[] buffer, int bufferOffset, int length);
+ public abstract char GetChar(int ordinal);
+ public abstract long GetChars(int ordinal, long dataOffset, char[] buffer, int bufferOffset, int length);
+ public DbDataReader GetData(int ordinal);
+ public abstract string GetDataTypeName(int ordinal);
+ public abstract DateTime GetDateTime(int ordinal);
+ protected virtual DbDataReader GetDbDataReader(int ordinal);
+ public abstract Decimal GetDecimal(int ordinal);
+ public abstract double GetDouble(int ordinal);
+ public abstract IEnumerator GetEnumerator();
+ public abstract Type GetFieldType(int ordinal);
+ public virtual T GetFieldValue<T>(int ordinal);
+ public Task<T> GetFieldValueAsync<T>(int ordinal);
+ public virtual Task<T> GetFieldValueAsync<T>(int ordinal, CancellationToken cancellationToken);
+ public abstract float GetFloat(int ordinal);
+ public abstract Guid GetGuid(int ordinal);
+ public abstract short GetInt16(int ordinal);
+ public abstract int GetInt32(int ordinal);
+ public abstract long GetInt64(int ordinal);
+ public abstract string GetName(int ordinal);
+ public abstract int GetOrdinal(string name);
+ public virtual Type GetProviderSpecificFieldType(int ordinal);
+ public virtual object GetProviderSpecificValue(int ordinal);
+ public virtual int GetProviderSpecificValues(object[] values);
+ public virtual Stream GetStream(int ordinal);
+ public abstract string GetString(int ordinal);
+ public virtual TextReader GetTextReader(int ordinal);
+ public abstract object GetValue(int ordinal);
+ public abstract int GetValues(object[] values);
+ public abstract bool IsDBNull(int ordinal);
+ public Task<bool> IsDBNullAsync(int ordinal);
+ public virtual Task<bool> IsDBNullAsync(int ordinal, CancellationToken cancellationToken);
+ public abstract bool NextResult();
+ public Task<bool> NextResultAsync();
+ public virtual Task<bool> NextResultAsync(CancellationToken cancellationToken);
+ public abstract bool Read();
+ public Task<bool> ReadAsync();
+ public virtual Task<bool> ReadAsync(CancellationToken cancellationToken);
+ void System.Data.IDataReader.Close();
+ DataTable System.Data.IDataReader.GetSchemaTable();
+ IDataReader System.Data.IDataRecord.GetData(int ordinal);
+ }
+ public static class DbDataReaderExtensions {
+ public static bool CanGetColumnSchema(this DbDataReader reader);
+ public static ReadOnlyCollection<DbColumn> GetColumnSchema(this DbDataReader reader);
+ }
+ public abstract class DbDataRecord : IDataRecord {
+ protected DbDataRecord();
+ public abstract int FieldCount { get; }
+ public abstract object this[int i] { get; }
+ public abstract object this[string name] { get; }
+ public abstract bool GetBoolean(int i);
+ public abstract byte GetByte(int i);
+ public abstract long GetBytes(int i, long dataIndex, byte[] buffer, int bufferIndex, int length);
+ public abstract char GetChar(int i);
+ public abstract long GetChars(int i, long dataIndex, char[] buffer, int bufferIndex, int length);
+ public IDataReader GetData(int i);
+ public abstract string GetDataTypeName(int i);
+ public abstract DateTime GetDateTime(int i);
+ protected virtual DbDataReader GetDbDataReader(int i);
+ public abstract Decimal GetDecimal(int i);
+ public abstract double GetDouble(int i);
+ public abstract Type GetFieldType(int i);
+ public abstract float GetFloat(int i);
+ public abstract Guid GetGuid(int i);
+ public abstract short GetInt16(int i);
+ public abstract int GetInt32(int i);
+ public abstract long GetInt64(int i);
+ public abstract string GetName(int i);
+ public abstract int GetOrdinal(string name);
+ public abstract string GetString(int i);
+ public abstract object GetValue(int i);
+ public abstract int GetValues(object[] values);
+ public abstract bool IsDBNull(int i);
+ }
+ public class DbEnumerator : IEnumerator {
+ public DbEnumerator(IDataReader reader, bool closeReader);
+ public object Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ }
+ public abstract class DbException : Exception {
+ protected DbException();
+ protected DbException(string message);
+ protected DbException(string message, Exception innerException);
+ }
+ public abstract class DbParameter : IDataParameter, IDbDataParameter {
+ protected DbParameter();
+ public abstract DbType DbType { get; set; }
+ public abstract ParameterDirection Direction { get; set; }
+ public abstract bool IsNullable { get; set; }
+ public abstract string ParameterName { get; set; }
+ public virtual byte Precision { get; set; }
+ public virtual byte Scale { get; set; }
+ public abstract int Size { get; set; }
+ public abstract string SourceColumn { get; set; }
+ public abstract bool SourceColumnNullMapping { get; set; }
+ DataRowVersion System.Data.IDataParameter.SourceVersion { get; set; }
+ byte System.Data.IDbDataParameter.Precision { get; set; }
+ byte System.Data.IDbDataParameter.Scale { get; set; }
+ public abstract object Value { get; set; }
+ public abstract void ResetDbType();
+ }
+ public abstract class DbParameterCollection : ICollection, IDataParameterCollection, IEnumerable, IList {
+ protected DbParameterCollection();
+ public abstract int Count { get; }
+ public abstract object SyncRoot { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ bool System.Collections.IList.IsFixedSize { get; }
+ bool System.Collections.IList.IsReadOnly { get; }
+ object System.Collections.IList.this[int index] { get; set; }
+ object System.Data.IDataParameterCollection.this[string parameterName] { get; set; }
+ public DbParameter this[int index] { get; set; }
+ public DbParameter this[string parameterName] { get; set; }
+ public abstract int Add(object value);
+ public abstract void AddRange(Array values);
+ public abstract void Clear();
+ public abstract bool Contains(object value);
+ public abstract bool Contains(string value);
+ public abstract void CopyTo(Array array, int index);
+ public abstract IEnumerator GetEnumerator();
+ protected abstract DbParameter GetParameter(int index);
+ protected abstract DbParameter GetParameter(string parameterName);
+ public abstract int IndexOf(object value);
+ public abstract int IndexOf(string parameterName);
+ public abstract void Insert(int index, object value);
+ public abstract void Remove(object value);
+ public abstract void RemoveAt(int index);
+ public abstract void RemoveAt(string parameterName);
+ protected abstract void SetParameter(int index, DbParameter value);
+ protected abstract void SetParameter(string parameterName, DbParameter value);
+ }
+ public abstract class DbProviderFactory {
+ protected DbProviderFactory();
+ public virtual DbCommand CreateCommand();
+ public virtual DbConnection CreateConnection();
+ public virtual DbConnectionStringBuilder CreateConnectionStringBuilder();
+ public virtual DbParameter CreateParameter();
+ }
+ public abstract class DbTransaction : IDbTransaction, IDisposable {
+ protected DbTransaction();
+ public DbConnection Connection { get; }
+ protected abstract DbConnection DbConnection { get; }
+ public abstract IsolationLevel IsolationLevel { get; }
+ IDbConnection System.Data.IDbTransaction.Connection { get; }
+ public abstract void Commit();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public abstract void Rollback();
+ }
+ public interface IDbColumnSchemaGenerator {
+ ReadOnlyCollection<DbColumn> GetColumnSchema();
+ }
+}
```
# System.Data.Common
``` diff
+namespace System.Data.Common {
+ public abstract class DbColumn {
+ protected DbColumn();
+ public Nullable<bool> AllowDBNull { get; protected set; }
+ public string BaseCatalogName { get; protected set; }
+ public string BaseColumnName { get; protected set; }
+ public string BaseSchemaName { get; protected set; }
+ public string BaseServerName { get; protected set; }
+ public string BaseTableName { get; protected set; }
+ public string ColumnName { get; protected set; }
+ public Nullable<int> ColumnOrdinal { get; protected set; }
+ public Nullable<int> ColumnSize { get; protected set; }
+ public Type DataType { get; protected set; }
+ public string DataTypeName { get; protected set; }
+ public Nullable<bool> IsAliased { get; protected set; }
+ public Nullable<bool> IsAutoIncrement { get; protected set; }
+ public Nullable<bool> IsExpression { get; protected set; }
+ public Nullable<bool> IsHidden { get; protected set; }
+ public Nullable<bool> IsIdentity { get; protected set; }
+ public Nullable<bool> IsKey { get; protected set; }
+ public Nullable<bool> IsLong { get; protected set; }
+ public Nullable<bool> IsReadOnly { get; protected set; }
+ public Nullable<bool> IsUnique { get; protected set; }
+ public Nullable<int> NumericPrecision { get; protected set; }
+ public Nullable<int> NumericScale { get; protected set; }
+ public virtual object this[string property] { get; }
+ public string UdtAssemblyQualifiedName { get; protected set; }
+ }
+ public abstract class DbCommand : IDbCommand, IDisposable {
+ protected DbCommand();
+ public abstract string CommandText { get; set; }
+ public abstract int CommandTimeout { get; set; }
+ public abstract CommandType CommandType { get; set; }
+ public DbConnection Connection { get; set; }
+ protected abstract DbConnection DbConnection { get; set; }
+ protected abstract DbParameterCollection DbParameterCollection { get; }
+ protected abstract DbTransaction DbTransaction { get; set; }
+ public abstract bool DesignTimeVisible { get; set; }
+ public DbParameterCollection Parameters { get; }
+ IDbConnection System.Data.IDbCommand.Connection { get; set; }
+ IDataParameterCollection System.Data.IDbCommand.Parameters { get; }
+ IDbTransaction System.Data.IDbCommand.Transaction { get; set; }
+ public DbTransaction Transaction { get; set; }
+ public abstract UpdateRowSource UpdatedRowSource { get; set; }
+ public abstract void Cancel();
+ protected abstract DbParameter CreateDbParameter();
+ public DbParameter CreateParameter();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ protected abstract DbDataReader ExecuteDbDataReader(CommandBehavior behavior);
+ protected virtual Task<DbDataReader> ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken);
+ public abstract int ExecuteNonQuery();
+ public Task<int> ExecuteNonQueryAsync();
+ public virtual Task<int> ExecuteNonQueryAsync(CancellationToken cancellationToken);
+ public DbDataReader ExecuteReader();
+ public DbDataReader ExecuteReader(CommandBehavior behavior);
+ public Task<DbDataReader> ExecuteReaderAsync();
+ public Task<DbDataReader> ExecuteReaderAsync(CommandBehavior behavior);
+ public Task<DbDataReader> ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken);
+ public Task<DbDataReader> ExecuteReaderAsync(CancellationToken cancellationToken);
+ public abstract object ExecuteScalar();
+ public Task<object> ExecuteScalarAsync();
+ public virtual Task<object> ExecuteScalarAsync(CancellationToken cancellationToken);
+ public abstract void Prepare();
+ IDbDataParameter System.Data.IDbCommand.CreateParameter();
+ IDataReader System.Data.IDbCommand.ExecuteReader();
+ IDataReader System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior);
+ }
+ public abstract class DbConnection : IDbConnection, IDisposable {
+ protected DbConnection();
+ public abstract string ConnectionString { get; set; }
+ public virtual int ConnectionTimeout { get; }
+ public abstract string Database { get; }
+ public abstract string DataSource { get; }
+ public abstract string ServerVersion { get; }
+ public abstract ConnectionState State { get; }
+ public virtual event StateChangeEventHandler StateChange;
+ protected abstract DbTransaction BeginDbTransaction(IsolationLevel isolationLevel);
+ public DbTransaction BeginTransaction();
+ public DbTransaction BeginTransaction(IsolationLevel isolationLevel);
+ public abstract void ChangeDatabase(string databaseName);
+ public abstract void Close();
+ public DbCommand CreateCommand();
+ protected abstract DbCommand CreateDbCommand();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ protected virtual void OnStateChange(StateChangeEventArgs stateChange);
+ public abstract void Open();
+ public Task OpenAsync();
+ public virtual Task OpenAsync(CancellationToken cancellationToken);
+ IDbTransaction System.Data.IDbConnection.BeginTransaction();
+ IDbTransaction System.Data.IDbConnection.BeginTransaction(IsolationLevel isolationLevel);
+ IDbCommand System.Data.IDbConnection.CreateCommand();
+ }
+ public class DbConnectionStringBuilder : ICollection, IDictionary, IEnumerable {
+ public DbConnectionStringBuilder();
+ public string ConnectionString { get; set; }
+ public virtual int Count { get; }
+ public virtual ICollection Keys { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IDictionary.IsFixedSize { get; }
+ bool System.Collections.IDictionary.IsReadOnly { get; }
+ object System.Collections.IDictionary.this[object keyword] { get; set; }
+ public virtual object this[string keyword] { get; set; }
+ public virtual ICollection Values { get; }
+ public void Add(string keyword, object value);
+ public static void AppendKeyValuePair(StringBuilder builder, string keyword, string value);
+ public virtual void Clear();
+ public virtual bool ContainsKey(string keyword);
+ public virtual bool EquivalentTo(DbConnectionStringBuilder connectionStringBuilder);
+ public virtual bool Remove(string keyword);
+ public virtual bool ShouldSerialize(string keyword);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ void System.Collections.IDictionary.Add(object keyword, object value);
+ bool System.Collections.IDictionary.Contains(object keyword);
+ IDictionaryEnumerator System.Collections.IDictionary.GetEnumerator();
+ void System.Collections.IDictionary.Remove(object keyword);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public override string ToString();
+ public virtual bool TryGetValue(string keyword, out object value);
+ }
+ public abstract class DbDataReader : IDataReader, IDataRecord, IDisposable, IEnumerable {
+ protected DbDataReader();
+ public abstract int Depth { get; }
+ public abstract int FieldCount { get; }
+ public abstract bool HasRows { get; }
+ public abstract bool IsClosed { get; }
+ public abstract int RecordsAffected { get; }
+ public abstract object this[int ordinal] { get; }
+ public abstract object this[string name] { get; }
+ public virtual int VisibleFieldCount { get; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public abstract bool GetBoolean(int ordinal);
+ public abstract byte GetByte(int ordinal);
+ public abstract long GetBytes(int ordinal, long dataOffset, byte[] buffer, int bufferOffset, int length);
+ public abstract char GetChar(int ordinal);
+ public abstract long GetChars(int ordinal, long dataOffset, char[] buffer, int bufferOffset, int length);
+ public DbDataReader GetData(int ordinal);
+ public abstract string GetDataTypeName(int ordinal);
+ public abstract DateTime GetDateTime(int ordinal);
+ protected virtual DbDataReader GetDbDataReader(int ordinal);
+ public abstract Decimal GetDecimal(int ordinal);
+ public abstract double GetDouble(int ordinal);
+ public abstract IEnumerator GetEnumerator();
+ public abstract Type GetFieldType(int ordinal);
+ public virtual T GetFieldValue<T>(int ordinal);
+ public Task<T> GetFieldValueAsync<T>(int ordinal);
+ public virtual Task<T> GetFieldValueAsync<T>(int ordinal, CancellationToken cancellationToken);
+ public abstract float GetFloat(int ordinal);
+ public abstract Guid GetGuid(int ordinal);
+ public abstract short GetInt16(int ordinal);
+ public abstract int GetInt32(int ordinal);
+ public abstract long GetInt64(int ordinal);
+ public abstract string GetName(int ordinal);
+ public abstract int GetOrdinal(string name);
+ public virtual Type GetProviderSpecificFieldType(int ordinal);
+ public virtual object GetProviderSpecificValue(int ordinal);
+ public virtual int GetProviderSpecificValues(object[] values);
+ public virtual Stream GetStream(int ordinal);
+ public abstract string GetString(int ordinal);
+ public virtual TextReader GetTextReader(int ordinal);
+ public abstract object GetValue(int ordinal);
+ public abstract int GetValues(object[] values);
+ public abstract bool IsDBNull(int ordinal);
+ public Task<bool> IsDBNullAsync(int ordinal);
+ public virtual Task<bool> IsDBNullAsync(int ordinal, CancellationToken cancellationToken);
+ public abstract bool NextResult();
+ public Task<bool> NextResultAsync();
+ public virtual Task<bool> NextResultAsync(CancellationToken cancellationToken);
+ public abstract bool Read();
+ public Task<bool> ReadAsync();
+ public virtual Task<bool> ReadAsync(CancellationToken cancellationToken);
+ void System.Data.IDataReader.Close();
+ DataTable System.Data.IDataReader.GetSchemaTable();
+ IDataReader System.Data.IDataRecord.GetData(int ordinal);
+ }
+ public static class DbDataReaderExtensions {
+ public static bool CanGetColumnSchema(this DbDataReader reader);
+ public static ReadOnlyCollection<DbColumn> GetColumnSchema(this DbDataReader reader);
+ }
+ public abstract class DbDataRecord : IDataRecord {
+ protected DbDataRecord();
+ public abstract int FieldCount { get; }
+ public abstract object this[int i] { get; }
+ public abstract object this[string name] { get; }
+ public abstract bool GetBoolean(int i);
+ public abstract byte GetByte(int i);
+ public abstract long GetBytes(int i, long dataIndex, byte[] buffer, int bufferIndex, int length);
+ public abstract char GetChar(int i);
+ public abstract long GetChars(int i, long dataIndex, char[] buffer, int bufferIndex, int length);
+ public IDataReader GetData(int i);
+ public abstract string GetDataTypeName(int i);
+ public abstract DateTime GetDateTime(int i);
+ protected virtual DbDataReader GetDbDataReader(int i);
+ public abstract Decimal GetDecimal(int i);
+ public abstract double GetDouble(int i);
+ public abstract Type GetFieldType(int i);
+ public abstract float GetFloat(int i);
+ public abstract Guid GetGuid(int i);
+ public abstract short GetInt16(int i);
+ public abstract int GetInt32(int i);
+ public abstract long GetInt64(int i);
+ public abstract string GetName(int i);
+ public abstract int GetOrdinal(string name);
+ public abstract string GetString(int i);
+ public abstract object GetValue(int i);
+ public abstract int GetValues(object[] values);
+ public abstract bool IsDBNull(int i);
+ }
+ public class DbEnumerator : IEnumerator {
+ public DbEnumerator(IDataReader reader, bool closeReader);
+ public object Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ }
+ public abstract class DbException : Exception {
+ protected DbException();
+ protected DbException(string message);
+ protected DbException(string message, Exception innerException);
+ }
+ public abstract class DbParameter : IDataParameter, IDbDataParameter {
+ protected DbParameter();
+ public abstract DbType DbType { get; set; }
+ public abstract ParameterDirection Direction { get; set; }
+ public abstract bool IsNullable { get; set; }
+ public abstract string ParameterName { get; set; }
+ public virtual byte Precision { get; set; }
+ public virtual byte Scale { get; set; }
+ public abstract int Size { get; set; }
+ public abstract string SourceColumn { get; set; }
+ public abstract bool SourceColumnNullMapping { get; set; }
+ DataRowVersion System.Data.IDataParameter.SourceVersion { get; set; }
+ byte System.Data.IDbDataParameter.Precision { get; set; }
+ byte System.Data.IDbDataParameter.Scale { get; set; }
+ public abstract object Value { get; set; }
+ public abstract void ResetDbType();
+ }
+ public abstract class DbParameterCollection : ICollection, IDataParameterCollection, IEnumerable, IList {
+ protected DbParameterCollection();
+ public abstract int Count { get; }
+ public abstract object SyncRoot { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ bool System.Collections.IList.IsFixedSize { get; }
+ bool System.Collections.IList.IsReadOnly { get; }
+ object System.Collections.IList.this[int index] { get; set; }
+ object System.Data.IDataParameterCollection.this[string parameterName] { get; set; }
+ public DbParameter this[int index] { get; set; }
+ public DbParameter this[string parameterName] { get; set; }
+ public abstract int Add(object value);
+ public abstract void AddRange(Array values);
+ public abstract void Clear();
+ public abstract bool Contains(object value);
+ public abstract bool Contains(string value);
+ public abstract void CopyTo(Array array, int index);
+ public abstract IEnumerator GetEnumerator();
+ protected abstract DbParameter GetParameter(int index);
+ protected abstract DbParameter GetParameter(string parameterName);
+ public abstract int IndexOf(object value);
+ public abstract int IndexOf(string parameterName);
+ public abstract void Insert(int index, object value);
+ public abstract void Remove(object value);
+ public abstract void RemoveAt(int index);
+ public abstract void RemoveAt(string parameterName);
+ protected abstract void SetParameter(int index, DbParameter value);
+ protected abstract void SetParameter(string parameterName, DbParameter value);
+ }
+ public abstract class DbProviderFactory {
+ protected DbProviderFactory();
+ public virtual DbCommand CreateCommand();
+ public virtual DbConnection CreateConnection();
+ public virtual DbConnectionStringBuilder CreateConnectionStringBuilder();
+ public virtual DbParameter CreateParameter();
+ }
+ public abstract class DbTransaction : IDbTransaction, IDisposable {
+ protected DbTransaction();
+ public DbConnection Connection { get; }
+ protected abstract DbConnection DbConnection { get; }
+ public abstract IsolationLevel IsolationLevel { get; }
+ IDbConnection System.Data.IDbTransaction.Connection { get; }
+ public abstract void Commit();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public abstract void Rollback();
+ }
+ public interface IDbColumnSchemaGenerator {
+ ReadOnlyCollection<DbColumn> GetColumnSchema();
+ }
+}
```

View File

@@ -1,381 +1,381 @@
# System.Data.SqlClient
``` diff
+namespace System.Data.SqlClient {
+ public enum ApplicationIntent {
+ ReadOnly = 1,
+ ReadWrite = 0,
+ }
+ public enum SortOrder {
+ Ascending = 0,
+ Descending = 1,
+ Unspecified = -1,
+ }
+ public sealed class SqlBulkCopy : IDisposable {
+ public SqlBulkCopy(SqlConnection connection);
+ public SqlBulkCopy(SqlConnection connection, SqlBulkCopyOptions copyOptions, SqlTransaction externalTransaction);
+ public SqlBulkCopy(string connectionString);
+ public SqlBulkCopy(string connectionString, SqlBulkCopyOptions copyOptions);
+ public int BatchSize { get; set; }
+ public int BulkCopyTimeout { get; set; }
+ public SqlBulkCopyColumnMappingCollection ColumnMappings { get; }
+ public string DestinationTableName { get; set; }
+ public bool EnableStreaming { get; set; }
+ public int NotifyAfter { get; set; }
+ public event SqlRowsCopiedEventHandler SqlRowsCopied;
+ public void Close();
+ void System.IDisposable.Dispose();
+ public void WriteToServer(DbDataReader reader);
+ public Task WriteToServerAsync(DbDataReader reader);
+ public Task WriteToServerAsync(DbDataReader reader, CancellationToken cancellationToken);
+ }
+ public sealed class SqlBulkCopyColumnMapping {
+ public SqlBulkCopyColumnMapping();
+ public SqlBulkCopyColumnMapping(int sourceColumnOrdinal, int destinationOrdinal);
+ public SqlBulkCopyColumnMapping(int sourceColumnOrdinal, string destinationColumn);
+ public SqlBulkCopyColumnMapping(string sourceColumn, int destinationOrdinal);
+ public SqlBulkCopyColumnMapping(string sourceColumn, string destinationColumn);
+ public string DestinationColumn { get; set; }
+ public int DestinationOrdinal { get; set; }
+ public string SourceColumn { get; set; }
+ public int SourceOrdinal { get; set; }
+ }
+ public sealed class SqlBulkCopyColumnMappingCollection : ICollection, IEnumerable, IList {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IList.IsFixedSize { get; }
+ bool System.Collections.IList.IsReadOnly { get; }
+ object System.Collections.IList.this[int index] { get; set; }
+ public SqlBulkCopyColumnMapping this[int index] { get; }
+ public SqlBulkCopyColumnMapping Add(SqlBulkCopyColumnMapping bulkCopyColumnMapping);
+ public SqlBulkCopyColumnMapping Add(int sourceColumnIndex, int destinationColumnIndex);
+ public SqlBulkCopyColumnMapping Add(int sourceColumnIndex, string destinationColumn);
+ public SqlBulkCopyColumnMapping Add(string sourceColumn, int destinationColumnIndex);
+ public SqlBulkCopyColumnMapping Add(string sourceColumn, string destinationColumn);
+ public void Clear();
+ public bool Contains(SqlBulkCopyColumnMapping value);
+ public void CopyTo(SqlBulkCopyColumnMapping[] array, int index);
+ public IEnumerator GetEnumerator();
+ public int IndexOf(SqlBulkCopyColumnMapping value);
+ public void Insert(int index, SqlBulkCopyColumnMapping value);
+ public void Remove(SqlBulkCopyColumnMapping value);
+ public void RemoveAt(int index);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ int System.Collections.IList.Add(object value);
+ bool System.Collections.IList.Contains(object value);
+ int System.Collections.IList.IndexOf(object value);
+ void System.Collections.IList.Insert(int index, object value);
+ void System.Collections.IList.Remove(object value);
+ }
+ public enum SqlBulkCopyOptions {
+ CheckConstraints = 2,
+ Default = 0,
+ FireTriggers = 16,
+ KeepIdentity = 1,
+ KeepNulls = 8,
+ TableLock = 4,
+ UseInternalTransaction = 32,
+ }
+ public sealed class SqlClientFactory : DbProviderFactory {
+ public static readonly SqlClientFactory Instance;
+ public override DbCommand CreateCommand();
+ public override DbConnection CreateConnection();
+ public override DbConnectionStringBuilder CreateConnectionStringBuilder();
+ public override DbParameter CreateParameter();
+ }
+ public sealed class SqlCommand : DbCommand {
+ public SqlCommand();
+ public SqlCommand(string cmdText);
+ public SqlCommand(string cmdText, SqlConnection connection);
+ public SqlCommand(string cmdText, SqlConnection connection, SqlTransaction transaction);
+ public override string CommandText { get; set; }
+ public override int CommandTimeout { get; set; }
+ public override CommandType CommandType { get; set; }
+ public new SqlConnection Connection { get; set; }
+ protected override DbConnection DbConnection { get; set; }
+ protected override DbParameterCollection DbParameterCollection { get; }
+ protected override DbTransaction DbTransaction { get; set; }
+ public override bool DesignTimeVisible { get; set; }
+ public new SqlParameterCollection Parameters { get; }
+ public new SqlTransaction Transaction { get; set; }
+ public override UpdateRowSource UpdatedRowSource { get; set; }
+ public event StatementCompletedEventHandler StatementCompleted;
+ public override void Cancel();
+ protected override DbParameter CreateDbParameter();
+ public new SqlParameter CreateParameter();
+ protected override void Dispose(bool disposing);
+ protected override DbDataReader ExecuteDbDataReader(CommandBehavior behavior);
+ protected override Task<DbDataReader> ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken);
+ public override int ExecuteNonQuery();
+ public override Task<int> ExecuteNonQueryAsync(CancellationToken cancellationToken);
+ public new SqlDataReader ExecuteReader();
+ public new SqlDataReader ExecuteReader(CommandBehavior behavior);
+ public new Task<SqlDataReader> ExecuteReaderAsync();
+ public new Task<SqlDataReader> ExecuteReaderAsync(CommandBehavior behavior);
+ public new Task<SqlDataReader> ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken);
+ public new Task<SqlDataReader> ExecuteReaderAsync(CancellationToken cancellationToken);
+ public override object ExecuteScalar();
+ public override Task<object> ExecuteScalarAsync(CancellationToken cancellationToken);
+ public XmlReader ExecuteXmlReader();
+ public Task<XmlReader> ExecuteXmlReaderAsync();
+ public Task<XmlReader> ExecuteXmlReaderAsync(CancellationToken cancellationToken);
+ public override void Prepare();
+ }
+ public sealed class SqlConnection : DbConnection {
+ public SqlConnection();
+ public SqlConnection(string connectionString);
+ public Guid ClientConnectionId { get; }
+ public override string ConnectionString { get; set; }
+ public override int ConnectionTimeout { get; }
+ public override string Database { get; }
+ public override string DataSource { get; }
+ public bool FireInfoMessageEventOnUserErrors { get; set; }
+ public int PacketSize { get; }
+ public override string ServerVersion { get; }
+ public override ConnectionState State { get; }
+ public bool StatisticsEnabled { get; set; }
+ public string WorkstationId { get; }
+ public event SqlInfoMessageEventHandler InfoMessage;
+ protected override DbTransaction BeginDbTransaction(IsolationLevel isolationLevel);
+ public new SqlTransaction BeginTransaction();
+ public new SqlTransaction BeginTransaction(IsolationLevel iso);
+ public SqlTransaction BeginTransaction(IsolationLevel iso, string transactionName);
+ public SqlTransaction BeginTransaction(string transactionName);
+ public override void ChangeDatabase(string database);
+ public static void ClearAllPools();
+ public static void ClearPool(SqlConnection connection);
+ public override void Close();
+ public new SqlCommand CreateCommand();
+ protected override DbCommand CreateDbCommand();
+ protected override void Dispose(bool disposing);
+ public override void Open();
+ public override Task OpenAsync(CancellationToken cancellationToken);
+ public void ResetStatistics();
+ public IDictionary RetrieveStatistics();
+ }
+ public sealed class SqlConnectionStringBuilder : DbConnectionStringBuilder {
+ public SqlConnectionStringBuilder();
+ public SqlConnectionStringBuilder(string connectionString);
+ public ApplicationIntent ApplicationIntent { get; set; }
+ public string ApplicationName { get; set; }
+ public string AttachDBFilename { get; set; }
+ public int ConnectRetryCount { get; set; }
+ public int ConnectRetryInterval { get; set; }
+ public int ConnectTimeout { get; set; }
+ public string CurrentLanguage { get; set; }
+ public string DataSource { get; set; }
+ public bool Encrypt { get; set; }
+ public string FailoverPartner { get; set; }
+ public string InitialCatalog { get; set; }
+ public bool IntegratedSecurity { get; set; }
+ public override ICollection Keys { get; }
+ public int LoadBalanceTimeout { get; set; }
+ public int MaxPoolSize { get; set; }
+ public int MinPoolSize { get; set; }
+ public bool MultipleActiveResultSets { get; set; }
+ public bool MultiSubnetFailover { get; set; }
+ public int PacketSize { get; set; }
+ public string Password { get; set; }
+ public bool PersistSecurityInfo { get; set; }
+ public bool Pooling { get; set; }
+ public bool Replication { get; set; }
+ public override object this[string keyword] { get; set; }
+ public bool TrustServerCertificate { get; set; }
+ public string TypeSystemVersion { get; set; }
+ public string UserID { get; set; }
+ public bool UserInstance { get; set; }
+ public override ICollection Values { get; }
+ public string WorkstationID { get; set; }
+ public override void Clear();
+ public override bool ContainsKey(string keyword);
+ public override bool Remove(string keyword);
+ public override bool ShouldSerialize(string keyword);
+ public override bool TryGetValue(string keyword, out object value);
+ }
+ public class SqlDataReader : DbDataReader, IDisposable {
+ protected SqlConnection Connection { get; }
+ public override int Depth { get; }
+ public override int FieldCount { get; }
+ public override bool HasRows { get; }
+ public override bool IsClosed { get; }
+ public override int RecordsAffected { get; }
+ public override object this[int i] { get; }
+ public override object this[string name] { get; }
+ public override int VisibleFieldCount { get; }
+ public override bool GetBoolean(int i);
+ public override byte GetByte(int i);
+ public override long GetBytes(int i, long dataIndex, byte[] buffer, int bufferIndex, int length);
+ public override char GetChar(int i);
+ public override long GetChars(int i, long dataIndex, char[] buffer, int bufferIndex, int length);
+ public override string GetDataTypeName(int i);
+ public override DateTime GetDateTime(int i);
+ public virtual DateTimeOffset GetDateTimeOffset(int i);
+ public override Decimal GetDecimal(int i);
+ public override double GetDouble(int i);
+ public override IEnumerator GetEnumerator();
+ public override Type GetFieldType(int i);
+ public override T GetFieldValue<T>(int i);
+ public override Task<T> GetFieldValueAsync<T>(int i, CancellationToken cancellationToken);
+ public override float GetFloat(int i);
+ public override Guid GetGuid(int i);
+ public override short GetInt16(int i);
+ public override int GetInt32(int i);
+ public override long GetInt64(int i);
+ public override string GetName(int i);
+ public override int GetOrdinal(string name);
+ public override Type GetProviderSpecificFieldType(int i);
+ public override object GetProviderSpecificValue(int i);
+ public override int GetProviderSpecificValues(object[] values);
+ public virtual SqlBinary GetSqlBinary(int i);
+ public virtual SqlBoolean GetSqlBoolean(int i);
+ public virtual SqlByte GetSqlByte(int i);
+ public virtual SqlBytes GetSqlBytes(int i);
+ public virtual SqlChars GetSqlChars(int i);
+ public virtual SqlDateTime GetSqlDateTime(int i);
+ public virtual SqlDecimal GetSqlDecimal(int i);
+ public virtual SqlDouble GetSqlDouble(int i);
+ public virtual SqlGuid GetSqlGuid(int i);
+ public virtual SqlInt16 GetSqlInt16(int i);
+ public virtual SqlInt32 GetSqlInt32(int i);
+ public virtual SqlInt64 GetSqlInt64(int i);
+ public virtual SqlMoney GetSqlMoney(int i);
+ public virtual SqlSingle GetSqlSingle(int i);
+ public virtual SqlString GetSqlString(int i);
+ public virtual object GetSqlValue(int i);
+ public virtual int GetSqlValues(object[] values);
+ public virtual SqlXml GetSqlXml(int i);
+ public override Stream GetStream(int i);
+ public override string GetString(int i);
+ public override TextReader GetTextReader(int i);
+ public virtual TimeSpan GetTimeSpan(int i);
+ public override object GetValue(int i);
+ public override int GetValues(object[] values);
+ public virtual XmlReader GetXmlReader(int i);
+ public override bool IsDBNull(int i);
+ public override Task<bool> IsDBNullAsync(int i, CancellationToken cancellationToken);
+ public override bool NextResult();
+ public override Task<bool> NextResultAsync(CancellationToken cancellationToken);
+ public override bool Read();
+ public override Task<bool> ReadAsync(CancellationToken cancellationToken);
+ }
+ public sealed class SqlError {
+ public byte Class { get; }
+ public int LineNumber { get; }
+ public string Message { get; }
+ public int Number { get; }
+ public string Procedure { get; }
+ public string Server { get; }
+ public string Source { get; }
+ public byte State { get; }
+ public override string ToString();
+ }
+ public sealed class SqlErrorCollection : ICollection, IEnumerable {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public SqlError this[int index] { get; }
+ public void CopyTo(Array array, int index);
+ public void CopyTo(SqlError[] array, int index);
+ public IEnumerator GetEnumerator();
+ }
+ public sealed class SqlException : DbException {
+ public byte Class { get; }
+ public Guid ClientConnectionId { get; }
+ public SqlErrorCollection Errors { get; }
+ public int LineNumber { get; }
+ public int Number { get; }
+ public string Procedure { get; }
+ public string Server { get; }
+ public override string Source { get; }
+ public byte State { get; }
+ public override string ToString();
+ }
+ public sealed class SqlInfoMessageEventArgs : EventArgs {
+ public SqlErrorCollection Errors { get; }
+ public string Message { get; }
+ public string Source { get; }
+ public override string ToString();
+ }
+ public delegate void SqlInfoMessageEventHandler(object sender, SqlInfoMessageEventArgs e);
+ public sealed class SqlParameter : DbParameter {
+ public SqlParameter();
+ public SqlParameter(string parameterName, SqlDbType dbType);
+ public SqlParameter(string parameterName, SqlDbType dbType, int size);
+ public SqlParameter(string parameterName, SqlDbType dbType, int size, string sourceColumn);
+ public SqlParameter(string parameterName, object value);
+ public SqlCompareOptions CompareInfo { get; set; }
+ public override DbType DbType { get; set; }
+ public override ParameterDirection Direction { get; set; }
+ public override bool IsNullable { get; set; }
+ public int LocaleId { get; set; }
+ public int Offset { get; set; }
+ public override string ParameterName { get; set; }
+ public new byte Precision { get; set; }
+ public new byte Scale { get; set; }
+ public override int Size { get; set; }
+ public override string SourceColumn { get; set; }
+ public override bool SourceColumnNullMapping { get; set; }
+ public SqlDbType SqlDbType { get; set; }
+ public object SqlValue { get; set; }
+ public string TypeName { get; set; }
+ public override object Value { get; set; }
+ public string XmlSchemaCollectionDatabase { get; set; }
+ public string XmlSchemaCollectionName { get; set; }
+ public string XmlSchemaCollectionOwningSchema { get; set; }
+ public override void ResetDbType();
+ public void ResetSqlDbType();
+ public override string ToString();
+ }
+ public sealed class SqlParameterCollection : DbParameterCollection {
+ public override int Count { get; }
+ public override object SyncRoot { get; }
+ public new SqlParameter this[int index] { get; set; }
+ public new SqlParameter this[string parameterName] { get; set; }
+ public SqlParameter Add(SqlParameter value);
+ public override int Add(object value);
+ public SqlParameter Add(string parameterName, SqlDbType sqlDbType);
+ public SqlParameter Add(string parameterName, SqlDbType sqlDbType, int size);
+ public override void AddRange(Array values);
+ public void AddRange(SqlParameter[] values);
+ public SqlParameter AddWithValue(string parameterName, object value);
+ public override void Clear();
+ public bool Contains(SqlParameter value);
+ public override bool Contains(object value);
+ public override bool Contains(string value);
+ public override void CopyTo(Array array, int index);
+ public void CopyTo(SqlParameter[] array, int index);
+ public override IEnumerator GetEnumerator();
+ protected override DbParameter GetParameter(int index);
+ protected override DbParameter GetParameter(string parameterName);
+ public int IndexOf(SqlParameter value);
+ public override int IndexOf(object value);
+ public override int IndexOf(string parameterName);
+ public void Insert(int index, SqlParameter value);
+ public override void Insert(int index, object value);
+ public void Remove(SqlParameter value);
+ public override void Remove(object value);
+ public override void RemoveAt(int index);
+ public override void RemoveAt(string parameterName);
+ protected override void SetParameter(int index, DbParameter value);
+ protected override void SetParameter(string parameterName, DbParameter value);
+ }
+ public class SqlRowsCopiedEventArgs : EventArgs {
+ public SqlRowsCopiedEventArgs(long rowsCopied);
+ public bool Abort { get; set; }
+ public long RowsCopied { get; }
+ }
+ public delegate void SqlRowsCopiedEventHandler(object sender, SqlRowsCopiedEventArgs e);
+ public sealed class SqlTransaction : DbTransaction {
+ public new SqlConnection Connection { get; }
+ protected override DbConnection DbConnection { get; }
+ public override IsolationLevel IsolationLevel { get; }
+ public override void Commit();
+ protected override void Dispose(bool disposing);
+ public override void Rollback();
+ public void Rollback(string transactionName);
+ public void Save(string savePointName);
+ }
+}
```
# System.Data.SqlClient
``` diff
+namespace System.Data.SqlClient {
+ public enum ApplicationIntent {
+ ReadOnly = 1,
+ ReadWrite = 0,
+ }
+ public enum SortOrder {
+ Ascending = 0,
+ Descending = 1,
+ Unspecified = -1,
+ }
+ public sealed class SqlBulkCopy : IDisposable {
+ public SqlBulkCopy(SqlConnection connection);
+ public SqlBulkCopy(SqlConnection connection, SqlBulkCopyOptions copyOptions, SqlTransaction externalTransaction);
+ public SqlBulkCopy(string connectionString);
+ public SqlBulkCopy(string connectionString, SqlBulkCopyOptions copyOptions);
+ public int BatchSize { get; set; }
+ public int BulkCopyTimeout { get; set; }
+ public SqlBulkCopyColumnMappingCollection ColumnMappings { get; }
+ public string DestinationTableName { get; set; }
+ public bool EnableStreaming { get; set; }
+ public int NotifyAfter { get; set; }
+ public event SqlRowsCopiedEventHandler SqlRowsCopied;
+ public void Close();
+ void System.IDisposable.Dispose();
+ public void WriteToServer(DbDataReader reader);
+ public Task WriteToServerAsync(DbDataReader reader);
+ public Task WriteToServerAsync(DbDataReader reader, CancellationToken cancellationToken);
+ }
+ public sealed class SqlBulkCopyColumnMapping {
+ public SqlBulkCopyColumnMapping();
+ public SqlBulkCopyColumnMapping(int sourceColumnOrdinal, int destinationOrdinal);
+ public SqlBulkCopyColumnMapping(int sourceColumnOrdinal, string destinationColumn);
+ public SqlBulkCopyColumnMapping(string sourceColumn, int destinationOrdinal);
+ public SqlBulkCopyColumnMapping(string sourceColumn, string destinationColumn);
+ public string DestinationColumn { get; set; }
+ public int DestinationOrdinal { get; set; }
+ public string SourceColumn { get; set; }
+ public int SourceOrdinal { get; set; }
+ }
+ public sealed class SqlBulkCopyColumnMappingCollection : ICollection, IEnumerable, IList {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IList.IsFixedSize { get; }
+ bool System.Collections.IList.IsReadOnly { get; }
+ object System.Collections.IList.this[int index] { get; set; }
+ public SqlBulkCopyColumnMapping this[int index] { get; }
+ public SqlBulkCopyColumnMapping Add(SqlBulkCopyColumnMapping bulkCopyColumnMapping);
+ public SqlBulkCopyColumnMapping Add(int sourceColumnIndex, int destinationColumnIndex);
+ public SqlBulkCopyColumnMapping Add(int sourceColumnIndex, string destinationColumn);
+ public SqlBulkCopyColumnMapping Add(string sourceColumn, int destinationColumnIndex);
+ public SqlBulkCopyColumnMapping Add(string sourceColumn, string destinationColumn);
+ public void Clear();
+ public bool Contains(SqlBulkCopyColumnMapping value);
+ public void CopyTo(SqlBulkCopyColumnMapping[] array, int index);
+ public IEnumerator GetEnumerator();
+ public int IndexOf(SqlBulkCopyColumnMapping value);
+ public void Insert(int index, SqlBulkCopyColumnMapping value);
+ public void Remove(SqlBulkCopyColumnMapping value);
+ public void RemoveAt(int index);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ int System.Collections.IList.Add(object value);
+ bool System.Collections.IList.Contains(object value);
+ int System.Collections.IList.IndexOf(object value);
+ void System.Collections.IList.Insert(int index, object value);
+ void System.Collections.IList.Remove(object value);
+ }
+ public enum SqlBulkCopyOptions {
+ CheckConstraints = 2,
+ Default = 0,
+ FireTriggers = 16,
+ KeepIdentity = 1,
+ KeepNulls = 8,
+ TableLock = 4,
+ UseInternalTransaction = 32,
+ }
+ public sealed class SqlClientFactory : DbProviderFactory {
+ public static readonly SqlClientFactory Instance;
+ public override DbCommand CreateCommand();
+ public override DbConnection CreateConnection();
+ public override DbConnectionStringBuilder CreateConnectionStringBuilder();
+ public override DbParameter CreateParameter();
+ }
+ public sealed class SqlCommand : DbCommand {
+ public SqlCommand();
+ public SqlCommand(string cmdText);
+ public SqlCommand(string cmdText, SqlConnection connection);
+ public SqlCommand(string cmdText, SqlConnection connection, SqlTransaction transaction);
+ public override string CommandText { get; set; }
+ public override int CommandTimeout { get; set; }
+ public override CommandType CommandType { get; set; }
+ public new SqlConnection Connection { get; set; }
+ protected override DbConnection DbConnection { get; set; }
+ protected override DbParameterCollection DbParameterCollection { get; }
+ protected override DbTransaction DbTransaction { get; set; }
+ public override bool DesignTimeVisible { get; set; }
+ public new SqlParameterCollection Parameters { get; }
+ public new SqlTransaction Transaction { get; set; }
+ public override UpdateRowSource UpdatedRowSource { get; set; }
+ public event StatementCompletedEventHandler StatementCompleted;
+ public override void Cancel();
+ protected override DbParameter CreateDbParameter();
+ public new SqlParameter CreateParameter();
+ protected override void Dispose(bool disposing);
+ protected override DbDataReader ExecuteDbDataReader(CommandBehavior behavior);
+ protected override Task<DbDataReader> ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken);
+ public override int ExecuteNonQuery();
+ public override Task<int> ExecuteNonQueryAsync(CancellationToken cancellationToken);
+ public new SqlDataReader ExecuteReader();
+ public new SqlDataReader ExecuteReader(CommandBehavior behavior);
+ public new Task<SqlDataReader> ExecuteReaderAsync();
+ public new Task<SqlDataReader> ExecuteReaderAsync(CommandBehavior behavior);
+ public new Task<SqlDataReader> ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken);
+ public new Task<SqlDataReader> ExecuteReaderAsync(CancellationToken cancellationToken);
+ public override object ExecuteScalar();
+ public override Task<object> ExecuteScalarAsync(CancellationToken cancellationToken);
+ public XmlReader ExecuteXmlReader();
+ public Task<XmlReader> ExecuteXmlReaderAsync();
+ public Task<XmlReader> ExecuteXmlReaderAsync(CancellationToken cancellationToken);
+ public override void Prepare();
+ }
+ public sealed class SqlConnection : DbConnection {
+ public SqlConnection();
+ public SqlConnection(string connectionString);
+ public Guid ClientConnectionId { get; }
+ public override string ConnectionString { get; set; }
+ public override int ConnectionTimeout { get; }
+ public override string Database { get; }
+ public override string DataSource { get; }
+ public bool FireInfoMessageEventOnUserErrors { get; set; }
+ public int PacketSize { get; }
+ public override string ServerVersion { get; }
+ public override ConnectionState State { get; }
+ public bool StatisticsEnabled { get; set; }
+ public string WorkstationId { get; }
+ public event SqlInfoMessageEventHandler InfoMessage;
+ protected override DbTransaction BeginDbTransaction(IsolationLevel isolationLevel);
+ public new SqlTransaction BeginTransaction();
+ public new SqlTransaction BeginTransaction(IsolationLevel iso);
+ public SqlTransaction BeginTransaction(IsolationLevel iso, string transactionName);
+ public SqlTransaction BeginTransaction(string transactionName);
+ public override void ChangeDatabase(string database);
+ public static void ClearAllPools();
+ public static void ClearPool(SqlConnection connection);
+ public override void Close();
+ public new SqlCommand CreateCommand();
+ protected override DbCommand CreateDbCommand();
+ protected override void Dispose(bool disposing);
+ public override void Open();
+ public override Task OpenAsync(CancellationToken cancellationToken);
+ public void ResetStatistics();
+ public IDictionary RetrieveStatistics();
+ }
+ public sealed class SqlConnectionStringBuilder : DbConnectionStringBuilder {
+ public SqlConnectionStringBuilder();
+ public SqlConnectionStringBuilder(string connectionString);
+ public ApplicationIntent ApplicationIntent { get; set; }
+ public string ApplicationName { get; set; }
+ public string AttachDBFilename { get; set; }
+ public int ConnectRetryCount { get; set; }
+ public int ConnectRetryInterval { get; set; }
+ public int ConnectTimeout { get; set; }
+ public string CurrentLanguage { get; set; }
+ public string DataSource { get; set; }
+ public bool Encrypt { get; set; }
+ public string FailoverPartner { get; set; }
+ public string InitialCatalog { get; set; }
+ public bool IntegratedSecurity { get; set; }
+ public override ICollection Keys { get; }
+ public int LoadBalanceTimeout { get; set; }
+ public int MaxPoolSize { get; set; }
+ public int MinPoolSize { get; set; }
+ public bool MultipleActiveResultSets { get; set; }
+ public bool MultiSubnetFailover { get; set; }
+ public int PacketSize { get; set; }
+ public string Password { get; set; }
+ public bool PersistSecurityInfo { get; set; }
+ public bool Pooling { get; set; }
+ public bool Replication { get; set; }
+ public override object this[string keyword] { get; set; }
+ public bool TrustServerCertificate { get; set; }
+ public string TypeSystemVersion { get; set; }
+ public string UserID { get; set; }
+ public bool UserInstance { get; set; }
+ public override ICollection Values { get; }
+ public string WorkstationID { get; set; }
+ public override void Clear();
+ public override bool ContainsKey(string keyword);
+ public override bool Remove(string keyword);
+ public override bool ShouldSerialize(string keyword);
+ public override bool TryGetValue(string keyword, out object value);
+ }
+ public class SqlDataReader : DbDataReader, IDisposable {
+ protected SqlConnection Connection { get; }
+ public override int Depth { get; }
+ public override int FieldCount { get; }
+ public override bool HasRows { get; }
+ public override bool IsClosed { get; }
+ public override int RecordsAffected { get; }
+ public override object this[int i] { get; }
+ public override object this[string name] { get; }
+ public override int VisibleFieldCount { get; }
+ public override bool GetBoolean(int i);
+ public override byte GetByte(int i);
+ public override long GetBytes(int i, long dataIndex, byte[] buffer, int bufferIndex, int length);
+ public override char GetChar(int i);
+ public override long GetChars(int i, long dataIndex, char[] buffer, int bufferIndex, int length);
+ public override string GetDataTypeName(int i);
+ public override DateTime GetDateTime(int i);
+ public virtual DateTimeOffset GetDateTimeOffset(int i);
+ public override Decimal GetDecimal(int i);
+ public override double GetDouble(int i);
+ public override IEnumerator GetEnumerator();
+ public override Type GetFieldType(int i);
+ public override T GetFieldValue<T>(int i);
+ public override Task<T> GetFieldValueAsync<T>(int i, CancellationToken cancellationToken);
+ public override float GetFloat(int i);
+ public override Guid GetGuid(int i);
+ public override short GetInt16(int i);
+ public override int GetInt32(int i);
+ public override long GetInt64(int i);
+ public override string GetName(int i);
+ public override int GetOrdinal(string name);
+ public override Type GetProviderSpecificFieldType(int i);
+ public override object GetProviderSpecificValue(int i);
+ public override int GetProviderSpecificValues(object[] values);
+ public virtual SqlBinary GetSqlBinary(int i);
+ public virtual SqlBoolean GetSqlBoolean(int i);
+ public virtual SqlByte GetSqlByte(int i);
+ public virtual SqlBytes GetSqlBytes(int i);
+ public virtual SqlChars GetSqlChars(int i);
+ public virtual SqlDateTime GetSqlDateTime(int i);
+ public virtual SqlDecimal GetSqlDecimal(int i);
+ public virtual SqlDouble GetSqlDouble(int i);
+ public virtual SqlGuid GetSqlGuid(int i);
+ public virtual SqlInt16 GetSqlInt16(int i);
+ public virtual SqlInt32 GetSqlInt32(int i);
+ public virtual SqlInt64 GetSqlInt64(int i);
+ public virtual SqlMoney GetSqlMoney(int i);
+ public virtual SqlSingle GetSqlSingle(int i);
+ public virtual SqlString GetSqlString(int i);
+ public virtual object GetSqlValue(int i);
+ public virtual int GetSqlValues(object[] values);
+ public virtual SqlXml GetSqlXml(int i);
+ public override Stream GetStream(int i);
+ public override string GetString(int i);
+ public override TextReader GetTextReader(int i);
+ public virtual TimeSpan GetTimeSpan(int i);
+ public override object GetValue(int i);
+ public override int GetValues(object[] values);
+ public virtual XmlReader GetXmlReader(int i);
+ public override bool IsDBNull(int i);
+ public override Task<bool> IsDBNullAsync(int i, CancellationToken cancellationToken);
+ public override bool NextResult();
+ public override Task<bool> NextResultAsync(CancellationToken cancellationToken);
+ public override bool Read();
+ public override Task<bool> ReadAsync(CancellationToken cancellationToken);
+ }
+ public sealed class SqlError {
+ public byte Class { get; }
+ public int LineNumber { get; }
+ public string Message { get; }
+ public int Number { get; }
+ public string Procedure { get; }
+ public string Server { get; }
+ public string Source { get; }
+ public byte State { get; }
+ public override string ToString();
+ }
+ public sealed class SqlErrorCollection : ICollection, IEnumerable {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public SqlError this[int index] { get; }
+ public void CopyTo(Array array, int index);
+ public void CopyTo(SqlError[] array, int index);
+ public IEnumerator GetEnumerator();
+ }
+ public sealed class SqlException : DbException {
+ public byte Class { get; }
+ public Guid ClientConnectionId { get; }
+ public SqlErrorCollection Errors { get; }
+ public int LineNumber { get; }
+ public int Number { get; }
+ public string Procedure { get; }
+ public string Server { get; }
+ public override string Source { get; }
+ public byte State { get; }
+ public override string ToString();
+ }
+ public sealed class SqlInfoMessageEventArgs : EventArgs {
+ public SqlErrorCollection Errors { get; }
+ public string Message { get; }
+ public string Source { get; }
+ public override string ToString();
+ }
+ public delegate void SqlInfoMessageEventHandler(object sender, SqlInfoMessageEventArgs e);
+ public sealed class SqlParameter : DbParameter {
+ public SqlParameter();
+ public SqlParameter(string parameterName, SqlDbType dbType);
+ public SqlParameter(string parameterName, SqlDbType dbType, int size);
+ public SqlParameter(string parameterName, SqlDbType dbType, int size, string sourceColumn);
+ public SqlParameter(string parameterName, object value);
+ public SqlCompareOptions CompareInfo { get; set; }
+ public override DbType DbType { get; set; }
+ public override ParameterDirection Direction { get; set; }
+ public override bool IsNullable { get; set; }
+ public int LocaleId { get; set; }
+ public int Offset { get; set; }
+ public override string ParameterName { get; set; }
+ public new byte Precision { get; set; }
+ public new byte Scale { get; set; }
+ public override int Size { get; set; }
+ public override string SourceColumn { get; set; }
+ public override bool SourceColumnNullMapping { get; set; }
+ public SqlDbType SqlDbType { get; set; }
+ public object SqlValue { get; set; }
+ public string TypeName { get; set; }
+ public override object Value { get; set; }
+ public string XmlSchemaCollectionDatabase { get; set; }
+ public string XmlSchemaCollectionName { get; set; }
+ public string XmlSchemaCollectionOwningSchema { get; set; }
+ public override void ResetDbType();
+ public void ResetSqlDbType();
+ public override string ToString();
+ }
+ public sealed class SqlParameterCollection : DbParameterCollection {
+ public override int Count { get; }
+ public override object SyncRoot { get; }
+ public new SqlParameter this[int index] { get; set; }
+ public new SqlParameter this[string parameterName] { get; set; }
+ public SqlParameter Add(SqlParameter value);
+ public override int Add(object value);
+ public SqlParameter Add(string parameterName, SqlDbType sqlDbType);
+ public SqlParameter Add(string parameterName, SqlDbType sqlDbType, int size);
+ public override void AddRange(Array values);
+ public void AddRange(SqlParameter[] values);
+ public SqlParameter AddWithValue(string parameterName, object value);
+ public override void Clear();
+ public bool Contains(SqlParameter value);
+ public override bool Contains(object value);
+ public override bool Contains(string value);
+ public override void CopyTo(Array array, int index);
+ public void CopyTo(SqlParameter[] array, int index);
+ public override IEnumerator GetEnumerator();
+ protected override DbParameter GetParameter(int index);
+ protected override DbParameter GetParameter(string parameterName);
+ public int IndexOf(SqlParameter value);
+ public override int IndexOf(object value);
+ public override int IndexOf(string parameterName);
+ public void Insert(int index, SqlParameter value);
+ public override void Insert(int index, object value);
+ public void Remove(SqlParameter value);
+ public override void Remove(object value);
+ public override void RemoveAt(int index);
+ public override void RemoveAt(string parameterName);
+ protected override void SetParameter(int index, DbParameter value);
+ protected override void SetParameter(string parameterName, DbParameter value);
+ }
+ public class SqlRowsCopiedEventArgs : EventArgs {
+ public SqlRowsCopiedEventArgs(long rowsCopied);
+ public bool Abort { get; set; }
+ public long RowsCopied { get; }
+ }
+ public delegate void SqlRowsCopiedEventHandler(object sender, SqlRowsCopiedEventArgs e);
+ public sealed class SqlTransaction : DbTransaction {
+ public new SqlConnection Connection { get; }
+ protected override DbConnection DbConnection { get; }
+ public override IsolationLevel IsolationLevel { get; }
+ public override void Commit();
+ protected override void Dispose(bool disposing);
+ public override void Rollback();
+ public void Rollback(string transactionName);
+ public void Save(string savePointName);
+ }
+}
```

File diff suppressed because it is too large Load Diff

View File

@@ -1,217 +1,217 @@
# System.Data
``` diff
+namespace System.Data {
+ public enum CommandBehavior {
+ CloseConnection = 32,
+ Default = 0,
+ KeyInfo = 4,
+ SchemaOnly = 2,
+ SequentialAccess = 16,
+ SingleResult = 1,
+ SingleRow = 8,
+ }
+ public enum CommandType {
+ StoredProcedure = 4,
+ TableDirect = 512,
+ Text = 1,
+ }
+ public enum ConnectionState {
+ Broken = 16,
+ Closed = 0,
+ Connecting = 2,
+ Executing = 4,
+ Fetching = 8,
+ Open = 1,
+ }
+ public enum DataRowVersion {
+ Default = 1536,
+ }
+ public class DataTable
+ public enum DbType {
+ AnsiString = 0,
+ AnsiStringFixedLength = 22,
+ Binary = 1,
+ Boolean = 3,
+ Byte = 2,
+ Currency = 4,
+ Date = 5,
+ DateTime = 6,
+ DateTime2 = 26,
+ DateTimeOffset = 27,
+ Decimal = 7,
+ Double = 8,
+ Guid = 9,
+ Int16 = 10,
+ Int32 = 11,
+ Int64 = 12,
+ Object = 13,
+ SByte = 14,
+ Single = 15,
+ String = 16,
+ StringFixedLength = 23,
+ Time = 17,
+ UInt16 = 18,
+ UInt32 = 19,
+ UInt64 = 20,
+ VarNumeric = 21,
+ Xml = 25,
+ }
+ public interface IDataParameter {
+ DbType DbType { get; set; }
+ ParameterDirection Direction { get; set; }
+ bool IsNullable { get; }
+ string ParameterName { get; set; }
+ string SourceColumn { get; set; }
+ DataRowVersion SourceVersion { get; set; }
+ object Value { get; set; }
+ }
+ public interface IDataParameterCollection : ICollection, IEnumerable, IList {
+ object this[string parameterName] { get; set; }
+ bool Contains(string parameterName);
+ int IndexOf(string parameterName);
+ void RemoveAt(string parameterName);
+ }
+ public interface IDataReader : IDataRecord, IDisposable {
+ int Depth { get; }
+ bool IsClosed { get; }
+ int RecordsAffected { get; }
+ void Close();
+ DataTable GetSchemaTable();
+ bool NextResult();
+ bool Read();
+ }
+ public interface IDataRecord {
+ int FieldCount { get; }
+ object this[int i] { get; }
+ object this[string name] { get; }
+ bool GetBoolean(int i);
+ byte GetByte(int i);
+ long GetBytes(int i, long fieldOffset, byte[] buffer, int bufferoffset, int length);
+ char GetChar(int i);
+ long GetChars(int i, long fieldoffset, char[] buffer, int bufferoffset, int length);
+ IDataReader GetData(int i);
+ string GetDataTypeName(int i);
+ DateTime GetDateTime(int i);
+ Decimal GetDecimal(int i);
+ double GetDouble(int i);
+ Type GetFieldType(int i);
+ float GetFloat(int i);
+ Guid GetGuid(int i);
+ short GetInt16(int i);
+ int GetInt32(int i);
+ long GetInt64(int i);
+ string GetName(int i);
+ int GetOrdinal(string name);
+ string GetString(int i);
+ object GetValue(int i);
+ int GetValues(object[] values);
+ bool IsDBNull(int i);
+ }
+ public interface IDbCommand : IDisposable {
+ string CommandText { get; set; }
+ int CommandTimeout { get; set; }
+ CommandType CommandType { get; set; }
+ IDbConnection Connection { get; set; }
+ IDataParameterCollection Parameters { get; }
+ IDbTransaction Transaction { get; set; }
+ UpdateRowSource UpdatedRowSource { get; set; }
+ void Cancel();
+ IDbDataParameter CreateParameter();
+ int ExecuteNonQuery();
+ IDataReader ExecuteReader();
+ IDataReader ExecuteReader(CommandBehavior behavior);
+ object ExecuteScalar();
+ void Prepare();
+ }
+ public interface IDbConnection : IDisposable {
+ string ConnectionString { get; set; }
+ int ConnectionTimeout { get; }
+ string Database { get; }
+ ConnectionState State { get; }
+ IDbTransaction BeginTransaction();
+ IDbTransaction BeginTransaction(IsolationLevel il);
+ void ChangeDatabase(string databaseName);
+ void Close();
+ IDbCommand CreateCommand();
+ void Open();
+ }
+ public interface IDbDataParameter : IDataParameter {
+ byte Precision { get; set; }
+ byte Scale { get; set; }
+ int Size { get; set; }
+ }
+ public interface IDbTransaction : IDisposable {
+ IDbConnection Connection { get; }
+ IsolationLevel IsolationLevel { get; }
+ void Commit();
+ void Rollback();
+ }
+ public enum IsolationLevel {
+ Chaos = 16,
+ ReadCommitted = 4096,
+ ReadUncommitted = 256,
+ RepeatableRead = 65536,
+ Serializable = 1048576,
+ Snapshot = 16777216,
+ Unspecified = -1,
+ }
+ public enum ParameterDirection {
+ Input = 1,
+ InputOutput = 3,
+ Output = 2,
+ ReturnValue = 6,
+ }
+ public enum SqlDbType {
+ BigInt = 0,
+ Binary = 1,
+ Bit = 2,
+ Char = 3,
+ Date = 31,
+ DateTime = 4,
+ DateTime2 = 33,
+ DateTimeOffset = 34,
+ Decimal = 5,
+ Float = 6,
+ Image = 7,
+ Int = 8,
+ Money = 9,
+ NChar = 10,
+ NText = 11,
+ NVarChar = 12,
+ Real = 13,
+ SmallDateTime = 15,
+ SmallInt = 16,
+ SmallMoney = 17,
+ Structured = 30,
+ Text = 18,
+ Time = 32,
+ Timestamp = 19,
+ TinyInt = 20,
+ Udt = 29,
+ UniqueIdentifier = 14,
+ VarBinary = 21,
+ VarChar = 22,
+ Variant = 23,
+ Xml = 25,
+ }
+ public sealed class StateChangeEventArgs : EventArgs {
+ public StateChangeEventArgs(ConnectionState originalState, ConnectionState currentState);
+ public ConnectionState CurrentState { get; }
+ public ConnectionState OriginalState { get; }
+ }
+ public delegate void StateChangeEventHandler(object sender, StateChangeEventArgs e);
+ public sealed class StatementCompletedEventArgs : EventArgs {
+ public StatementCompletedEventArgs(int recordCount);
+ public int RecordCount { get; }
+ }
+ public delegate void StatementCompletedEventHandler(object sender, StatementCompletedEventArgs e);
+ public enum UpdateRowSource {
+ Both = 3,
+ FirstReturnedRecord = 2,
+ None = 0,
+ OutputParameters = 1,
+ }
+}
```
# System.Data
``` diff
+namespace System.Data {
+ public enum CommandBehavior {
+ CloseConnection = 32,
+ Default = 0,
+ KeyInfo = 4,
+ SchemaOnly = 2,
+ SequentialAccess = 16,
+ SingleResult = 1,
+ SingleRow = 8,
+ }
+ public enum CommandType {
+ StoredProcedure = 4,
+ TableDirect = 512,
+ Text = 1,
+ }
+ public enum ConnectionState {
+ Broken = 16,
+ Closed = 0,
+ Connecting = 2,
+ Executing = 4,
+ Fetching = 8,
+ Open = 1,
+ }
+ public enum DataRowVersion {
+ Default = 1536,
+ }
+ public class DataTable
+ public enum DbType {
+ AnsiString = 0,
+ AnsiStringFixedLength = 22,
+ Binary = 1,
+ Boolean = 3,
+ Byte = 2,
+ Currency = 4,
+ Date = 5,
+ DateTime = 6,
+ DateTime2 = 26,
+ DateTimeOffset = 27,
+ Decimal = 7,
+ Double = 8,
+ Guid = 9,
+ Int16 = 10,
+ Int32 = 11,
+ Int64 = 12,
+ Object = 13,
+ SByte = 14,
+ Single = 15,
+ String = 16,
+ StringFixedLength = 23,
+ Time = 17,
+ UInt16 = 18,
+ UInt32 = 19,
+ UInt64 = 20,
+ VarNumeric = 21,
+ Xml = 25,
+ }
+ public interface IDataParameter {
+ DbType DbType { get; set; }
+ ParameterDirection Direction { get; set; }
+ bool IsNullable { get; }
+ string ParameterName { get; set; }
+ string SourceColumn { get; set; }
+ DataRowVersion SourceVersion { get; set; }
+ object Value { get; set; }
+ }
+ public interface IDataParameterCollection : ICollection, IEnumerable, IList {
+ object this[string parameterName] { get; set; }
+ bool Contains(string parameterName);
+ int IndexOf(string parameterName);
+ void RemoveAt(string parameterName);
+ }
+ public interface IDataReader : IDataRecord, IDisposable {
+ int Depth { get; }
+ bool IsClosed { get; }
+ int RecordsAffected { get; }
+ void Close();
+ DataTable GetSchemaTable();
+ bool NextResult();
+ bool Read();
+ }
+ public interface IDataRecord {
+ int FieldCount { get; }
+ object this[int i] { get; }
+ object this[string name] { get; }
+ bool GetBoolean(int i);
+ byte GetByte(int i);
+ long GetBytes(int i, long fieldOffset, byte[] buffer, int bufferoffset, int length);
+ char GetChar(int i);
+ long GetChars(int i, long fieldoffset, char[] buffer, int bufferoffset, int length);
+ IDataReader GetData(int i);
+ string GetDataTypeName(int i);
+ DateTime GetDateTime(int i);
+ Decimal GetDecimal(int i);
+ double GetDouble(int i);
+ Type GetFieldType(int i);
+ float GetFloat(int i);
+ Guid GetGuid(int i);
+ short GetInt16(int i);
+ int GetInt32(int i);
+ long GetInt64(int i);
+ string GetName(int i);
+ int GetOrdinal(string name);
+ string GetString(int i);
+ object GetValue(int i);
+ int GetValues(object[] values);
+ bool IsDBNull(int i);
+ }
+ public interface IDbCommand : IDisposable {
+ string CommandText { get; set; }
+ int CommandTimeout { get; set; }
+ CommandType CommandType { get; set; }
+ IDbConnection Connection { get; set; }
+ IDataParameterCollection Parameters { get; }
+ IDbTransaction Transaction { get; set; }
+ UpdateRowSource UpdatedRowSource { get; set; }
+ void Cancel();
+ IDbDataParameter CreateParameter();
+ int ExecuteNonQuery();
+ IDataReader ExecuteReader();
+ IDataReader ExecuteReader(CommandBehavior behavior);
+ object ExecuteScalar();
+ void Prepare();
+ }
+ public interface IDbConnection : IDisposable {
+ string ConnectionString { get; set; }
+ int ConnectionTimeout { get; }
+ string Database { get; }
+ ConnectionState State { get; }
+ IDbTransaction BeginTransaction();
+ IDbTransaction BeginTransaction(IsolationLevel il);
+ void ChangeDatabase(string databaseName);
+ void Close();
+ IDbCommand CreateCommand();
+ void Open();
+ }
+ public interface IDbDataParameter : IDataParameter {
+ byte Precision { get; set; }
+ byte Scale { get; set; }
+ int Size { get; set; }
+ }
+ public interface IDbTransaction : IDisposable {
+ IDbConnection Connection { get; }
+ IsolationLevel IsolationLevel { get; }
+ void Commit();
+ void Rollback();
+ }
+ public enum IsolationLevel {
+ Chaos = 16,
+ ReadCommitted = 4096,
+ ReadUncommitted = 256,
+ RepeatableRead = 65536,
+ Serializable = 1048576,
+ Snapshot = 16777216,
+ Unspecified = -1,
+ }
+ public enum ParameterDirection {
+ Input = 1,
+ InputOutput = 3,
+ Output = 2,
+ ReturnValue = 6,
+ }
+ public enum SqlDbType {
+ BigInt = 0,
+ Binary = 1,
+ Bit = 2,
+ Char = 3,
+ Date = 31,
+ DateTime = 4,
+ DateTime2 = 33,
+ DateTimeOffset = 34,
+ Decimal = 5,
+ Float = 6,
+ Image = 7,
+ Int = 8,
+ Money = 9,
+ NChar = 10,
+ NText = 11,
+ NVarChar = 12,
+ Real = 13,
+ SmallDateTime = 15,
+ SmallInt = 16,
+ SmallMoney = 17,
+ Structured = 30,
+ Text = 18,
+ Time = 32,
+ Timestamp = 19,
+ TinyInt = 20,
+ Udt = 29,
+ UniqueIdentifier = 14,
+ VarBinary = 21,
+ VarChar = 22,
+ Variant = 23,
+ Xml = 25,
+ }
+ public sealed class StateChangeEventArgs : EventArgs {
+ public StateChangeEventArgs(ConnectionState originalState, ConnectionState currentState);
+ public ConnectionState CurrentState { get; }
+ public ConnectionState OriginalState { get; }
+ }
+ public delegate void StateChangeEventHandler(object sender, StateChangeEventArgs e);
+ public sealed class StatementCompletedEventArgs : EventArgs {
+ public StatementCompletedEventArgs(int recordCount);
+ public int RecordCount { get; }
+ }
+ public delegate void StatementCompletedEventHandler(object sender, StatementCompletedEventArgs e);
+ public enum UpdateRowSource {
+ Both = 3,
+ FirstReturnedRecord = 2,
+ None = 0,
+ OutputParameters = 1,
+ }
+}
```

View File

@@ -1,16 +1,16 @@
# System.Diagnostics.CodeAnalysis
``` diff
+namespace System.Diagnostics.CodeAnalysis {
+ public sealed class SuppressMessageAttribute : Attribute {
+ public SuppressMessageAttribute(string category, string checkId);
+ public string Category { get; }
+ public string CheckId { get; }
+ public string Justification { get; set; }
+ public string MessageId { get; set; }
+ public string Scope { get; set; }
+ public string Target { get; set; }
+ }
+}
```
# System.Diagnostics.CodeAnalysis
``` diff
+namespace System.Diagnostics.CodeAnalysis {
+ public sealed class SuppressMessageAttribute : Attribute {
+ public SuppressMessageAttribute(string category, string checkId);
+ public string Category { get; }
+ public string CheckId { get; }
+ public string Justification { get; set; }
+ public string MessageId { get; set; }
+ public string Scope { get; set; }
+ public string Target { get; set; }
+ }
+}
```

View File

@@ -1,11 +1,11 @@
# System.Diagnostics.Contracts.Internal
``` diff
+namespace System.Diagnostics.Contracts.Internal {
+ public static class ContractHelper {
+ public static string RaiseContractFailedEvent(ContractFailureKind failureKind, string userMessage, string conditionText, Exception innerException);
+ public static void TriggerFailure(ContractFailureKind kind, string displayMessage, string userMessage, string conditionText, Exception innerException);
+ }
+}
```
# System.Diagnostics.Contracts.Internal
``` diff
+namespace System.Diagnostics.Contracts.Internal {
+ public static class ContractHelper {
+ public static string RaiseContractFailedEvent(ContractFailureKind failureKind, string userMessage, string conditionText, Exception innerException);
+ public static void TriggerFailure(ContractFailureKind kind, string displayMessage, string userMessage, string conditionText, Exception innerException);
+ }
+}
```

View File

@@ -1,93 +1,93 @@
# System.Diagnostics.Contracts
``` diff
+namespace System.Diagnostics.Contracts {
+ public static class Contract {
+ public static event EventHandler<ContractFailedEventArgs> ContractFailed;
+ public static void Assert(bool condition);
+ public static void Assert(bool condition, string userMessage);
+ public static void Assume(bool condition);
+ public static void Assume(bool condition, string userMessage);
+ public static void EndContractBlock();
+ public static void Ensures(bool condition);
+ public static void Ensures(bool condition, string userMessage);
+ public static void EnsuresOnThrow<TException>(bool condition) where TException : Exception;
+ public static void EnsuresOnThrow<TException>(bool condition, string userMessage) where TException : Exception;
+ public static bool Exists(int fromInclusive, int toExclusive, Predicate<int> predicate);
+ public static bool Exists<T>(IEnumerable<T> collection, Predicate<T> predicate);
+ public static bool ForAll(int fromInclusive, int toExclusive, Predicate<int> predicate);
+ public static bool ForAll<T>(IEnumerable<T> collection, Predicate<T> predicate);
+ public static void Invariant(bool condition);
+ public static void Invariant(bool condition, string userMessage);
+ public static T OldValue<T>(T value);
+ public static void Requires(bool condition);
+ public static void Requires(bool condition, string userMessage);
+ public static void Requires<TException>(bool condition) where TException : Exception;
+ public static void Requires<TException>(bool condition, string userMessage) where TException : Exception;
+ public static T Result<T>();
+ public static T ValueAtReturn<T>(out T value);
+ }
+ public sealed class ContractAbbreviatorAttribute : Attribute {
+ public ContractAbbreviatorAttribute();
+ }
+ public sealed class ContractArgumentValidatorAttribute : Attribute {
+ public ContractArgumentValidatorAttribute();
+ }
+ public sealed class ContractClassAttribute : Attribute {
+ public ContractClassAttribute(Type typeContainingContracts);
+ public Type TypeContainingContracts { get; }
+ }
+ public sealed class ContractClassForAttribute : Attribute {
+ public ContractClassForAttribute(Type typeContractsAreFor);
+ public Type TypeContractsAreFor { get; }
+ }
+ public sealed class ContractFailedEventArgs : EventArgs {
+ public ContractFailedEventArgs(ContractFailureKind failureKind, string message, string condition, Exception originalException);
+ public string Condition { get; }
+ public ContractFailureKind FailureKind { get; }
+ public bool Handled { get; }
+ public string Message { get; }
+ public Exception OriginalException { get; }
+ public bool Unwind { get; }
+ public void SetHandled();
+ public void SetUnwind();
+ }
+ public enum ContractFailureKind {
+ Assert = 4,
+ Assume = 5,
+ Invariant = 3,
+ Postcondition = 1,
+ PostconditionOnException = 2,
+ Precondition = 0,
+ }
+ public sealed class ContractInvariantMethodAttribute : Attribute {
+ public ContractInvariantMethodAttribute();
+ }
+ public sealed class ContractOptionAttribute : Attribute {
+ public ContractOptionAttribute(string category, string setting, bool enabled);
+ public ContractOptionAttribute(string category, string setting, string value);
+ public string Category { get; }
+ public bool Enabled { get; }
+ public string Setting { get; }
+ public string Value { get; }
+ }
+ public sealed class ContractPublicPropertyNameAttribute : Attribute {
+ public ContractPublicPropertyNameAttribute(string name);
+ public string Name { get; }
+ }
+ public sealed class ContractReferenceAssemblyAttribute : Attribute {
+ public ContractReferenceAssemblyAttribute();
+ }
+ public sealed class ContractRuntimeIgnoredAttribute : Attribute {
+ public ContractRuntimeIgnoredAttribute();
+ }
+ public sealed class ContractVerificationAttribute : Attribute {
+ public ContractVerificationAttribute(bool value);
+ public bool Value { get; }
+ }
+ public sealed class PureAttribute : Attribute {
+ public PureAttribute();
+ }
+}
```
# System.Diagnostics.Contracts
``` diff
+namespace System.Diagnostics.Contracts {
+ public static class Contract {
+ public static event EventHandler<ContractFailedEventArgs> ContractFailed;
+ public static void Assert(bool condition);
+ public static void Assert(bool condition, string userMessage);
+ public static void Assume(bool condition);
+ public static void Assume(bool condition, string userMessage);
+ public static void EndContractBlock();
+ public static void Ensures(bool condition);
+ public static void Ensures(bool condition, string userMessage);
+ public static void EnsuresOnThrow<TException>(bool condition) where TException : Exception;
+ public static void EnsuresOnThrow<TException>(bool condition, string userMessage) where TException : Exception;
+ public static bool Exists(int fromInclusive, int toExclusive, Predicate<int> predicate);
+ public static bool Exists<T>(IEnumerable<T> collection, Predicate<T> predicate);
+ public static bool ForAll(int fromInclusive, int toExclusive, Predicate<int> predicate);
+ public static bool ForAll<T>(IEnumerable<T> collection, Predicate<T> predicate);
+ public static void Invariant(bool condition);
+ public static void Invariant(bool condition, string userMessage);
+ public static T OldValue<T>(T value);
+ public static void Requires(bool condition);
+ public static void Requires(bool condition, string userMessage);
+ public static void Requires<TException>(bool condition) where TException : Exception;
+ public static void Requires<TException>(bool condition, string userMessage) where TException : Exception;
+ public static T Result<T>();
+ public static T ValueAtReturn<T>(out T value);
+ }
+ public sealed class ContractAbbreviatorAttribute : Attribute {
+ public ContractAbbreviatorAttribute();
+ }
+ public sealed class ContractArgumentValidatorAttribute : Attribute {
+ public ContractArgumentValidatorAttribute();
+ }
+ public sealed class ContractClassAttribute : Attribute {
+ public ContractClassAttribute(Type typeContainingContracts);
+ public Type TypeContainingContracts { get; }
+ }
+ public sealed class ContractClassForAttribute : Attribute {
+ public ContractClassForAttribute(Type typeContractsAreFor);
+ public Type TypeContractsAreFor { get; }
+ }
+ public sealed class ContractFailedEventArgs : EventArgs {
+ public ContractFailedEventArgs(ContractFailureKind failureKind, string message, string condition, Exception originalException);
+ public string Condition { get; }
+ public ContractFailureKind FailureKind { get; }
+ public bool Handled { get; }
+ public string Message { get; }
+ public Exception OriginalException { get; }
+ public bool Unwind { get; }
+ public void SetHandled();
+ public void SetUnwind();
+ }
+ public enum ContractFailureKind {
+ Assert = 4,
+ Assume = 5,
+ Invariant = 3,
+ Postcondition = 1,
+ PostconditionOnException = 2,
+ Precondition = 0,
+ }
+ public sealed class ContractInvariantMethodAttribute : Attribute {
+ public ContractInvariantMethodAttribute();
+ }
+ public sealed class ContractOptionAttribute : Attribute {
+ public ContractOptionAttribute(string category, string setting, bool enabled);
+ public ContractOptionAttribute(string category, string setting, string value);
+ public string Category { get; }
+ public bool Enabled { get; }
+ public string Setting { get; }
+ public string Value { get; }
+ }
+ public sealed class ContractPublicPropertyNameAttribute : Attribute {
+ public ContractPublicPropertyNameAttribute(string name);
+ public string Name { get; }
+ }
+ public sealed class ContractReferenceAssemblyAttribute : Attribute {
+ public ContractReferenceAssemblyAttribute();
+ }
+ public sealed class ContractRuntimeIgnoredAttribute : Attribute {
+ public ContractRuntimeIgnoredAttribute();
+ }
+ public sealed class ContractVerificationAttribute : Attribute {
+ public ContractVerificationAttribute(bool value);
+ public bool Value { get; }
+ }
+ public sealed class PureAttribute : Attribute {
+ public PureAttribute();
+ }
+}
```

View File

@@ -1,11 +1,11 @@
# System.Diagnostics.SymbolStore
``` diff
+namespace System.Diagnostics.SymbolStore {
+ public interface ISymbolDocumentWriter {
+ void SetCheckSum(Guid algorithmId, byte[] checkSum);
+ void SetSource(byte[] source);
+ }
+}
```
# System.Diagnostics.SymbolStore
``` diff
+namespace System.Diagnostics.SymbolStore {
+ public interface ISymbolDocumentWriter {
+ void SetCheckSum(Guid algorithmId, byte[] checkSum);
+ void SetSource(byte[] source);
+ }
+}
```

View File

@@ -1,238 +1,238 @@
# System.Diagnostics.Tracing
``` diff
+namespace System.Diagnostics.Tracing {
+ public enum EventActivityOptions {
+ Detachable = 8,
+ Disable = 2,
+ None = 0,
+ Recursive = 4,
+ }
+ public sealed class EventAttribute : Attribute {
+ public EventAttribute(int eventId);
+ public EventActivityOptions ActivityOptions { get; set; }
+ public EventChannel Channel { get; set; }
+ public int EventId { get; private set; }
+ public EventKeywords Keywords { get; set; }
+ public EventLevel Level { get; set; }
+ public string Message { get; set; }
+ public EventOpcode Opcode { get; set; }
+ public EventTags Tags { get; set; }
+ public EventTask Task { get; set; }
+ public byte Version { get; set; }
+ }
+ public enum EventChannel : byte {
+ Admin = (byte)16,
+ Analytic = (byte)18,
+ Debug = (byte)19,
+ None = (byte)0,
+ Operational = (byte)17,
+ }
+ public enum EventCommand {
+ Disable = -3,
+ Enable = -2,
+ SendManifest = -1,
+ Update = 0,
+ }
+ public class EventCommandEventArgs : EventArgs {
+ public IDictionary<string, string> Arguments { get; internal set; }
+ public EventCommand Command { get; internal set; }
+ public bool DisableEvent(int eventId);
+ public bool EnableEvent(int eventId);
+ }
+ public class EventCounter {
+ public EventCounter(string name, EventSource eventSource);
+ public void WriteMetric(float value);
+ }
+ public class EventDataAttribute : Attribute {
+ public EventDataAttribute();
+ public string Name { get; set; }
+ }
+ public class EventFieldAttribute : Attribute {
+ public EventFieldAttribute();
+ public EventFieldFormat Format { get; set; }
+ public EventFieldTags Tags { get; set; }
+ }
+ public enum EventFieldFormat {
+ Boolean = 3,
+ Default = 0,
+ Hexadecimal = 4,
+ HResult = 15,
+ Json = 12,
+ String = 2,
+ Xml = 11,
+ }
+ public enum EventFieldTags {
+ None = 0,
+ }
+ public class EventIgnoreAttribute : Attribute {
+ public EventIgnoreAttribute();
+ }
+ public enum EventKeywords : long {
+ All = (long)-1,
+ AuditFailure = (long)4503599627370496,
+ AuditSuccess = (long)9007199254740992,
+ CorrelationHint = (long)4503599627370496,
+ EventLogClassic = (long)36028797018963968,
+ MicrosoftTelemetry = (long)562949953421312,
+ None = (long)0,
+ Sqm = (long)2251799813685248,
+ WdiContext = (long)562949953421312,
+ WdiDiagnostic = (long)1125899906842624,
+ }
+ public enum EventLevel {
+ Critical = 1,
+ Error = 2,
+ Informational = 4,
+ LogAlways = 0,
+ Verbose = 5,
+ Warning = 3,
+ }
+ public class EventListener : IDisposable {
+ public EventListener();
+ public void DisableEvents(EventSource eventSource);
+ public virtual void Dispose();
+ public void EnableEvents(EventSource eventSource, EventLevel level);
+ public void EnableEvents(EventSource eventSource, EventLevel level, EventKeywords matchAnyKeyword);
+ public void EnableEvents(EventSource eventSource, EventLevel level, EventKeywords matchAnyKeyword, IDictionary<string, string> arguments);
+ public static int EventSourceIndex(EventSource eventSource);
+ protected internal virtual void OnEventSourceCreated(EventSource eventSource);
+ protected internal virtual void OnEventWritten(EventWrittenEventArgs eventData);
+ }
+ public enum EventManifestOptions {
+ AllCultures = 2,
+ AllowEventSourceOverride = 8,
+ None = 0,
+ OnlyIfNeededForRegistration = 4,
+ Strict = 1,
+ }
+ public enum EventOpcode {
+ DataCollectionStart = 3,
+ DataCollectionStop = 4,
+ Extension = 5,
+ Info = 0,
+ Receive = 240,
+ Reply = 6,
+ Resume = 7,
+ Send = 9,
+ Start = 1,
+ Stop = 2,
+ Suspend = 8,
+ }
+ public class EventSource : IDisposable {
+ protected EventSource();
+ protected EventSource(bool throwOnEventWriteErrors);
+ protected EventSource(EventSourceSettings settings);
+ protected EventSource(EventSourceSettings settings, params string[] traits);
+ public EventSource(string eventSourceName);
+ public EventSource(string eventSourceName, EventSourceSettings config);
+ public EventSource(string eventSourceName, EventSourceSettings config, params string[] traits);
+ public Exception ConstructionException { get; }
+ public static Guid CurrentThreadActivityId { get; }
+ public Guid Guid { get; }
+ public string Name { get; }
+ public EventSourceSettings Settings { get; }
+ public event EventHandler<EventCommandEventArgs> EventCommandExecuted;
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ ~EventSource();
+ public static string GenerateManifest(Type eventSourceType, string assemblyPathToIncludeInManifest);
+ public static string GenerateManifest(Type eventSourceType, string assemblyPathToIncludeInManifest, EventManifestOptions flags);
+ public static Guid GetGuid(Type eventSourceType);
+ public static string GetName(Type eventSourceType);
+ public static IEnumerable<EventSource> GetSources();
+ public string GetTrait(string key);
+ public bool IsEnabled();
+ public bool IsEnabled(EventLevel level, EventKeywords keywords);
+ public bool IsEnabled(EventLevel level, EventKeywords keywords, EventChannel channel);
+ protected virtual void OnEventCommand(EventCommandEventArgs command);
+ public static void SendCommand(EventSource eventSource, EventCommand command, IDictionary<string, string> commandArguments);
+ public static void SetCurrentThreadActivityId(Guid activityId);
+ public static void SetCurrentThreadActivityId(Guid activityId, out Guid oldActivityThatWillContinue);
+ public override string ToString();
+ public void Write(string eventName);
+ public void Write(string eventName, EventSourceOptions options);
+ public void Write<T>(string eventName, ref EventSourceOptions options, ref Guid activityId, ref Guid relatedActivityId, ref T data);
+ public void Write<T>(string eventName, ref EventSourceOptions options, ref T data);
+ public void Write<T>(string eventName, T data);
+ protected void WriteEvent(int eventId);
+ protected void WriteEvent(int eventId, byte[] arg1);
+ protected void WriteEvent(int eventId, int arg1);
+ protected void WriteEvent(int eventId, int arg1, int arg2);
+ protected void WriteEvent(int eventId, int arg1, int arg2, int arg3);
+ protected void WriteEvent(int eventId, int arg1, string arg2);
+ protected void WriteEvent(int eventId, long arg1);
+ protected void WriteEvent(int eventId, long arg1, byte[] arg2);
+ protected void WriteEvent(int eventId, long arg1, long arg2);
+ protected void WriteEvent(int eventId, long arg1, long arg2, long arg3);
+ protected void WriteEvent(int eventId, long arg1, string arg2);
+ protected void WriteEvent(int eventId, params object[] args);
+ protected void WriteEvent(int eventId, string arg1);
+ protected void WriteEvent(int eventId, string arg1, int arg2);
+ protected void WriteEvent(int eventId, string arg1, int arg2, int arg3);
+ protected void WriteEvent(int eventId, string arg1, long arg2);
+ protected void WriteEvent(int eventId, string arg1, string arg2);
+ protected void WriteEvent(int eventId, string arg1, string arg2, string arg3);
+ protected unsafe void WriteEventCore(int eventId, int eventDataCount, EventSource.EventData* data);
+ protected void WriteEventWithRelatedActivityId(int eventId, Guid relatedActivityId, params object[] args);
+ protected unsafe void WriteEventWithRelatedActivityIdCore(int eventId, Guid* relatedActivityId, int eventDataCount, EventSource.EventData* data);
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ protected internal struct EventData {
+ public IntPtr DataPointer { get; set; }
+ public int Size { get; set; }
+ }
+ }
+ public sealed class EventSourceAttribute : Attribute {
+ public EventSourceAttribute();
+ public string Guid { get; set; }
+ public string LocalizationResources { get; set; }
+ public string Name { get; set; }
+ }
+ public class EventSourceException : Exception {
+ public EventSourceException();
+ public EventSourceException(string message);
+ public EventSourceException(string message, Exception innerException);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct EventSourceOptions {
+ public EventActivityOptions ActivityOptions { get; set; }
+ public EventKeywords Keywords { get; set; }
+ public EventLevel Level { get; set; }
+ public EventOpcode Opcode { get; set; }
+ public EventTags Tags { get; set; }
+ }
+ public enum EventSourceSettings {
+ Default = 0,
+ EtwManifestEventFormat = 4,
+ EtwSelfDescribingEventFormat = 8,
+ ThrowOnEventWriteErrors = 1,
+ }
+ public enum EventTags {
+ None = 0,
+ }
+ public enum EventTask {
+ None = 0,
+ }
+ public class EventWrittenEventArgs : EventArgs {
+ public Guid ActivityId { get; }
+ public EventChannel Channel { get; }
+ public int EventId { get; internal set; }
+ public string EventName { get; internal set; }
+ public EventSource EventSource { get; }
+ public EventKeywords Keywords { get; }
+ public EventLevel Level { get; }
+ public string Message { get; internal set; }
+ public EventOpcode Opcode { get; }
+ public ReadOnlyCollection<object> Payload { get; internal set; }
+ public ReadOnlyCollection<string> PayloadNames { get; internal set; }
+ public Guid RelatedActivityId { get; internal set; }
+ public EventTags Tags { get; }
+ public EventTask Task { get; }
+ public byte Version { get; }
+ }
+ public sealed class NonEventAttribute : Attribute {
+ public NonEventAttribute();
+ }
+}
```
# System.Diagnostics.Tracing
``` diff
+namespace System.Diagnostics.Tracing {
+ public enum EventActivityOptions {
+ Detachable = 8,
+ Disable = 2,
+ None = 0,
+ Recursive = 4,
+ }
+ public sealed class EventAttribute : Attribute {
+ public EventAttribute(int eventId);
+ public EventActivityOptions ActivityOptions { get; set; }
+ public EventChannel Channel { get; set; }
+ public int EventId { get; private set; }
+ public EventKeywords Keywords { get; set; }
+ public EventLevel Level { get; set; }
+ public string Message { get; set; }
+ public EventOpcode Opcode { get; set; }
+ public EventTags Tags { get; set; }
+ public EventTask Task { get; set; }
+ public byte Version { get; set; }
+ }
+ public enum EventChannel : byte {
+ Admin = (byte)16,
+ Analytic = (byte)18,
+ Debug = (byte)19,
+ None = (byte)0,
+ Operational = (byte)17,
+ }
+ public enum EventCommand {
+ Disable = -3,
+ Enable = -2,
+ SendManifest = -1,
+ Update = 0,
+ }
+ public class EventCommandEventArgs : EventArgs {
+ public IDictionary<string, string> Arguments { get; internal set; }
+ public EventCommand Command { get; internal set; }
+ public bool DisableEvent(int eventId);
+ public bool EnableEvent(int eventId);
+ }
+ public class EventCounter {
+ public EventCounter(string name, EventSource eventSource);
+ public void WriteMetric(float value);
+ }
+ public class EventDataAttribute : Attribute {
+ public EventDataAttribute();
+ public string Name { get; set; }
+ }
+ public class EventFieldAttribute : Attribute {
+ public EventFieldAttribute();
+ public EventFieldFormat Format { get; set; }
+ public EventFieldTags Tags { get; set; }
+ }
+ public enum EventFieldFormat {
+ Boolean = 3,
+ Default = 0,
+ Hexadecimal = 4,
+ HResult = 15,
+ Json = 12,
+ String = 2,
+ Xml = 11,
+ }
+ public enum EventFieldTags {
+ None = 0,
+ }
+ public class EventIgnoreAttribute : Attribute {
+ public EventIgnoreAttribute();
+ }
+ public enum EventKeywords : long {
+ All = (long)-1,
+ AuditFailure = (long)4503599627370496,
+ AuditSuccess = (long)9007199254740992,
+ CorrelationHint = (long)4503599627370496,
+ EventLogClassic = (long)36028797018963968,
+ MicrosoftTelemetry = (long)562949953421312,
+ None = (long)0,
+ Sqm = (long)2251799813685248,
+ WdiContext = (long)562949953421312,
+ WdiDiagnostic = (long)1125899906842624,
+ }
+ public enum EventLevel {
+ Critical = 1,
+ Error = 2,
+ Informational = 4,
+ LogAlways = 0,
+ Verbose = 5,
+ Warning = 3,
+ }
+ public class EventListener : IDisposable {
+ public EventListener();
+ public void DisableEvents(EventSource eventSource);
+ public virtual void Dispose();
+ public void EnableEvents(EventSource eventSource, EventLevel level);
+ public void EnableEvents(EventSource eventSource, EventLevel level, EventKeywords matchAnyKeyword);
+ public void EnableEvents(EventSource eventSource, EventLevel level, EventKeywords matchAnyKeyword, IDictionary<string, string> arguments);
+ public static int EventSourceIndex(EventSource eventSource);
+ protected internal virtual void OnEventSourceCreated(EventSource eventSource);
+ protected internal virtual void OnEventWritten(EventWrittenEventArgs eventData);
+ }
+ public enum EventManifestOptions {
+ AllCultures = 2,
+ AllowEventSourceOverride = 8,
+ None = 0,
+ OnlyIfNeededForRegistration = 4,
+ Strict = 1,
+ }
+ public enum EventOpcode {
+ DataCollectionStart = 3,
+ DataCollectionStop = 4,
+ Extension = 5,
+ Info = 0,
+ Receive = 240,
+ Reply = 6,
+ Resume = 7,
+ Send = 9,
+ Start = 1,
+ Stop = 2,
+ Suspend = 8,
+ }
+ public class EventSource : IDisposable {
+ protected EventSource();
+ protected EventSource(bool throwOnEventWriteErrors);
+ protected EventSource(EventSourceSettings settings);
+ protected EventSource(EventSourceSettings settings, params string[] traits);
+ public EventSource(string eventSourceName);
+ public EventSource(string eventSourceName, EventSourceSettings config);
+ public EventSource(string eventSourceName, EventSourceSettings config, params string[] traits);
+ public Exception ConstructionException { get; }
+ public static Guid CurrentThreadActivityId { get; }
+ public Guid Guid { get; }
+ public string Name { get; }
+ public EventSourceSettings Settings { get; }
+ public event EventHandler<EventCommandEventArgs> EventCommandExecuted;
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ ~EventSource();
+ public static string GenerateManifest(Type eventSourceType, string assemblyPathToIncludeInManifest);
+ public static string GenerateManifest(Type eventSourceType, string assemblyPathToIncludeInManifest, EventManifestOptions flags);
+ public static Guid GetGuid(Type eventSourceType);
+ public static string GetName(Type eventSourceType);
+ public static IEnumerable<EventSource> GetSources();
+ public string GetTrait(string key);
+ public bool IsEnabled();
+ public bool IsEnabled(EventLevel level, EventKeywords keywords);
+ public bool IsEnabled(EventLevel level, EventKeywords keywords, EventChannel channel);
+ protected virtual void OnEventCommand(EventCommandEventArgs command);
+ public static void SendCommand(EventSource eventSource, EventCommand command, IDictionary<string, string> commandArguments);
+ public static void SetCurrentThreadActivityId(Guid activityId);
+ public static void SetCurrentThreadActivityId(Guid activityId, out Guid oldActivityThatWillContinue);
+ public override string ToString();
+ public void Write(string eventName);
+ public void Write(string eventName, EventSourceOptions options);
+ public void Write<T>(string eventName, ref EventSourceOptions options, ref Guid activityId, ref Guid relatedActivityId, ref T data);
+ public void Write<T>(string eventName, ref EventSourceOptions options, ref T data);
+ public void Write<T>(string eventName, T data);
+ protected void WriteEvent(int eventId);
+ protected void WriteEvent(int eventId, byte[] arg1);
+ protected void WriteEvent(int eventId, int arg1);
+ protected void WriteEvent(int eventId, int arg1, int arg2);
+ protected void WriteEvent(int eventId, int arg1, int arg2, int arg3);
+ protected void WriteEvent(int eventId, int arg1, string arg2);
+ protected void WriteEvent(int eventId, long arg1);
+ protected void WriteEvent(int eventId, long arg1, byte[] arg2);
+ protected void WriteEvent(int eventId, long arg1, long arg2);
+ protected void WriteEvent(int eventId, long arg1, long arg2, long arg3);
+ protected void WriteEvent(int eventId, long arg1, string arg2);
+ protected void WriteEvent(int eventId, params object[] args);
+ protected void WriteEvent(int eventId, string arg1);
+ protected void WriteEvent(int eventId, string arg1, int arg2);
+ protected void WriteEvent(int eventId, string arg1, int arg2, int arg3);
+ protected void WriteEvent(int eventId, string arg1, long arg2);
+ protected void WriteEvent(int eventId, string arg1, string arg2);
+ protected void WriteEvent(int eventId, string arg1, string arg2, string arg3);
+ protected unsafe void WriteEventCore(int eventId, int eventDataCount, EventSource.EventData* data);
+ protected void WriteEventWithRelatedActivityId(int eventId, Guid relatedActivityId, params object[] args);
+ protected unsafe void WriteEventWithRelatedActivityIdCore(int eventId, Guid* relatedActivityId, int eventDataCount, EventSource.EventData* data);
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ protected internal struct EventData {
+ public IntPtr DataPointer { get; set; }
+ public int Size { get; set; }
+ }
+ }
+ public sealed class EventSourceAttribute : Attribute {
+ public EventSourceAttribute();
+ public string Guid { get; set; }
+ public string LocalizationResources { get; set; }
+ public string Name { get; set; }
+ }
+ public class EventSourceException : Exception {
+ public EventSourceException();
+ public EventSourceException(string message);
+ public EventSourceException(string message, Exception innerException);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct EventSourceOptions {
+ public EventActivityOptions ActivityOptions { get; set; }
+ public EventKeywords Keywords { get; set; }
+ public EventLevel Level { get; set; }
+ public EventOpcode Opcode { get; set; }
+ public EventTags Tags { get; set; }
+ }
+ public enum EventSourceSettings {
+ Default = 0,
+ EtwManifestEventFormat = 4,
+ EtwSelfDescribingEventFormat = 8,
+ ThrowOnEventWriteErrors = 1,
+ }
+ public enum EventTags {
+ None = 0,
+ }
+ public enum EventTask {
+ None = 0,
+ }
+ public class EventWrittenEventArgs : EventArgs {
+ public Guid ActivityId { get; }
+ public EventChannel Channel { get; }
+ public int EventId { get; internal set; }
+ public string EventName { get; internal set; }
+ public EventSource EventSource { get; }
+ public EventKeywords Keywords { get; }
+ public EventLevel Level { get; }
+ public string Message { get; internal set; }
+ public EventOpcode Opcode { get; }
+ public ReadOnlyCollection<object> Payload { get; internal set; }
+ public ReadOnlyCollection<string> PayloadNames { get; internal set; }
+ public Guid RelatedActivityId { get; internal set; }
+ public EventTags Tags { get; }
+ public EventTask Task { get; }
+ public byte Version { get; }
+ }
+ public sealed class NonEventAttribute : Attribute {
+ public NonEventAttribute();
+ }
+}
```

File diff suppressed because it is too large Load Diff

View File

@@ -1,173 +1,173 @@
# System.Drawing
``` diff
+namespace System.Drawing {
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct Point {
+ public static readonly Point Empty;
+ public Point(Size sz);
+ public Point(int dw);
+ public Point(int x, int y);
+ public bool IsEmpty { get; }
+ public int X { get; set; }
+ public int Y { get; set; }
+ public static Point Add(Point pt, Size sz);
+ public static Point Ceiling(PointF value);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public void Offset(Point p);
+ public void Offset(int dx, int dy);
+ public static Point operator +(Point pt, Size sz);
+ public static bool operator ==(Point left, Point right);
+ public static explicit operator Size (Point p);
+ public static implicit operator PointF (Point p);
+ public static bool operator !=(Point left, Point right);
+ public static Point operator -(Point pt, Size sz);
+ public static Point Round(PointF value);
+ public static Point Subtract(Point pt, Size sz);
+ public override string ToString();
+ public static Point Truncate(PointF value);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct PointF {
+ public static readonly PointF Empty;
+ public PointF(float x, float y);
+ public bool IsEmpty { get; }
+ public float X { get; set; }
+ public float Y { get; set; }
+ public static PointF Add(PointF pt, Size sz);
+ public static PointF Add(PointF pt, SizeF sz);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static PointF operator +(PointF pt, Size sz);
+ public static PointF operator +(PointF pt, SizeF sz);
+ public static bool operator ==(PointF left, PointF right);
+ public static bool operator !=(PointF left, PointF right);
+ public static PointF operator -(PointF pt, Size sz);
+ public static PointF operator -(PointF pt, SizeF sz);
+ public static PointF Subtract(PointF pt, Size sz);
+ public static PointF Subtract(PointF pt, SizeF sz);
+ public override string ToString();
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct Rectangle {
+ public static readonly Rectangle Empty;
+ public Rectangle(Point location, Size size);
+ public Rectangle(int x, int y, int width, int height);
+ public int Bottom { get; }
+ public int Height { get; set; }
+ public bool IsEmpty { get; }
+ public int Left { get; }
+ public Point Location { get; set; }
+ public int Right { get; }
+ public Size Size { get; set; }
+ public int Top { get; }
+ public int Width { get; set; }
+ public int X { get; set; }
+ public int Y { get; set; }
+ public static Rectangle Ceiling(RectangleF value);
+ public bool Contains(Point pt);
+ public bool Contains(Rectangle rect);
+ public bool Contains(int x, int y);
+ public override bool Equals(object obj);
+ public static Rectangle FromLTRB(int left, int top, int right, int bottom);
+ public override int GetHashCode();
+ public static Rectangle Inflate(Rectangle rect, int x, int y);
+ public void Inflate(Size size);
+ public void Inflate(int width, int height);
+ public void Intersect(Rectangle rect);
+ public static Rectangle Intersect(Rectangle a, Rectangle b);
+ public bool IntersectsWith(Rectangle rect);
+ public void Offset(Point pos);
+ public void Offset(int x, int y);
+ public static bool operator ==(Rectangle left, Rectangle right);
+ public static bool operator !=(Rectangle left, Rectangle right);
+ public static Rectangle Round(RectangleF value);
+ public override string ToString();
+ public static Rectangle Truncate(RectangleF value);
+ public static Rectangle Union(Rectangle a, Rectangle b);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct RectangleF {
+ public static readonly RectangleF Empty;
+ public RectangleF(PointF location, SizeF size);
+ public RectangleF(float x, float y, float width, float height);
+ public float Bottom { get; }
+ public float Height { get; set; }
+ public bool IsEmpty { get; }
+ public float Left { get; }
+ public PointF Location { get; set; }
+ public float Right { get; }
+ public SizeF Size { get; set; }
+ public float Top { get; }
+ public float Width { get; set; }
+ public float X { get; set; }
+ public float Y { get; set; }
+ public bool Contains(PointF pt);
+ public bool Contains(RectangleF rect);
+ public bool Contains(float x, float y);
+ public override bool Equals(object obj);
+ public static RectangleF FromLTRB(float left, float top, float right, float bottom);
+ public override int GetHashCode();
+ public static RectangleF Inflate(RectangleF rect, float x, float y);
+ public void Inflate(SizeF size);
+ public void Inflate(float x, float y);
+ public void Intersect(RectangleF rect);
+ public static RectangleF Intersect(RectangleF a, RectangleF b);
+ public bool IntersectsWith(RectangleF rect);
+ public void Offset(PointF pos);
+ public void Offset(float x, float y);
+ public static bool operator ==(RectangleF left, RectangleF right);
+ public static implicit operator RectangleF (Rectangle r);
+ public static bool operator !=(RectangleF left, RectangleF right);
+ public override string ToString();
+ public static RectangleF Union(RectangleF a, RectangleF b);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct Size {
+ public static readonly Size Empty;
+ public Size(Point pt);
+ public Size(int width, int height);
+ public int Height { get; set; }
+ public bool IsEmpty { get; }
+ public int Width { get; set; }
+ public static Size Add(Size sz1, Size sz2);
+ public static Size Ceiling(SizeF value);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static Size operator +(Size sz1, Size sz2);
+ public static bool operator ==(Size sz1, Size sz2);
+ public static explicit operator Point (Size size);
+ public static implicit operator SizeF (Size p);
+ public static bool operator !=(Size sz1, Size sz2);
+ public static Size operator -(Size sz1, Size sz2);
+ public static Size Round(SizeF value);
+ public static Size Subtract(Size sz1, Size sz2);
+ public override string ToString();
+ public static Size Truncate(SizeF value);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct SizeF {
+ public static readonly SizeF Empty;
+ public SizeF(PointF pt);
+ public SizeF(SizeF size);
+ public SizeF(float width, float height);
+ public float Height { get; set; }
+ public bool IsEmpty { get; }
+ public float Width { get; set; }
+ public static SizeF Add(SizeF sz1, SizeF sz2);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static SizeF operator +(SizeF sz1, SizeF sz2);
+ public static bool operator ==(SizeF sz1, SizeF sz2);
+ public static explicit operator PointF (SizeF size);
+ public static bool operator !=(SizeF sz1, SizeF sz2);
+ public static SizeF operator -(SizeF sz1, SizeF sz2);
+ public static SizeF Subtract(SizeF sz1, SizeF sz2);
+ public PointF ToPointF();
+ public Size ToSize();
+ public override string ToString();
+ }
+}
```
# System.Drawing
``` diff
+namespace System.Drawing {
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct Point {
+ public static readonly Point Empty;
+ public Point(Size sz);
+ public Point(int dw);
+ public Point(int x, int y);
+ public bool IsEmpty { get; }
+ public int X { get; set; }
+ public int Y { get; set; }
+ public static Point Add(Point pt, Size sz);
+ public static Point Ceiling(PointF value);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public void Offset(Point p);
+ public void Offset(int dx, int dy);
+ public static Point operator +(Point pt, Size sz);
+ public static bool operator ==(Point left, Point right);
+ public static explicit operator Size (Point p);
+ public static implicit operator PointF (Point p);
+ public static bool operator !=(Point left, Point right);
+ public static Point operator -(Point pt, Size sz);
+ public static Point Round(PointF value);
+ public static Point Subtract(Point pt, Size sz);
+ public override string ToString();
+ public static Point Truncate(PointF value);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct PointF {
+ public static readonly PointF Empty;
+ public PointF(float x, float y);
+ public bool IsEmpty { get; }
+ public float X { get; set; }
+ public float Y { get; set; }
+ public static PointF Add(PointF pt, Size sz);
+ public static PointF Add(PointF pt, SizeF sz);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static PointF operator +(PointF pt, Size sz);
+ public static PointF operator +(PointF pt, SizeF sz);
+ public static bool operator ==(PointF left, PointF right);
+ public static bool operator !=(PointF left, PointF right);
+ public static PointF operator -(PointF pt, Size sz);
+ public static PointF operator -(PointF pt, SizeF sz);
+ public static PointF Subtract(PointF pt, Size sz);
+ public static PointF Subtract(PointF pt, SizeF sz);
+ public override string ToString();
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct Rectangle {
+ public static readonly Rectangle Empty;
+ public Rectangle(Point location, Size size);
+ public Rectangle(int x, int y, int width, int height);
+ public int Bottom { get; }
+ public int Height { get; set; }
+ public bool IsEmpty { get; }
+ public int Left { get; }
+ public Point Location { get; set; }
+ public int Right { get; }
+ public Size Size { get; set; }
+ public int Top { get; }
+ public int Width { get; set; }
+ public int X { get; set; }
+ public int Y { get; set; }
+ public static Rectangle Ceiling(RectangleF value);
+ public bool Contains(Point pt);
+ public bool Contains(Rectangle rect);
+ public bool Contains(int x, int y);
+ public override bool Equals(object obj);
+ public static Rectangle FromLTRB(int left, int top, int right, int bottom);
+ public override int GetHashCode();
+ public static Rectangle Inflate(Rectangle rect, int x, int y);
+ public void Inflate(Size size);
+ public void Inflate(int width, int height);
+ public void Intersect(Rectangle rect);
+ public static Rectangle Intersect(Rectangle a, Rectangle b);
+ public bool IntersectsWith(Rectangle rect);
+ public void Offset(Point pos);
+ public void Offset(int x, int y);
+ public static bool operator ==(Rectangle left, Rectangle right);
+ public static bool operator !=(Rectangle left, Rectangle right);
+ public static Rectangle Round(RectangleF value);
+ public override string ToString();
+ public static Rectangle Truncate(RectangleF value);
+ public static Rectangle Union(Rectangle a, Rectangle b);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct RectangleF {
+ public static readonly RectangleF Empty;
+ public RectangleF(PointF location, SizeF size);
+ public RectangleF(float x, float y, float width, float height);
+ public float Bottom { get; }
+ public float Height { get; set; }
+ public bool IsEmpty { get; }
+ public float Left { get; }
+ public PointF Location { get; set; }
+ public float Right { get; }
+ public SizeF Size { get; set; }
+ public float Top { get; }
+ public float Width { get; set; }
+ public float X { get; set; }
+ public float Y { get; set; }
+ public bool Contains(PointF pt);
+ public bool Contains(RectangleF rect);
+ public bool Contains(float x, float y);
+ public override bool Equals(object obj);
+ public static RectangleF FromLTRB(float left, float top, float right, float bottom);
+ public override int GetHashCode();
+ public static RectangleF Inflate(RectangleF rect, float x, float y);
+ public void Inflate(SizeF size);
+ public void Inflate(float x, float y);
+ public void Intersect(RectangleF rect);
+ public static RectangleF Intersect(RectangleF a, RectangleF b);
+ public bool IntersectsWith(RectangleF rect);
+ public void Offset(PointF pos);
+ public void Offset(float x, float y);
+ public static bool operator ==(RectangleF left, RectangleF right);
+ public static implicit operator RectangleF (Rectangle r);
+ public static bool operator !=(RectangleF left, RectangleF right);
+ public override string ToString();
+ public static RectangleF Union(RectangleF a, RectangleF b);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct Size {
+ public static readonly Size Empty;
+ public Size(Point pt);
+ public Size(int width, int height);
+ public int Height { get; set; }
+ public bool IsEmpty { get; }
+ public int Width { get; set; }
+ public static Size Add(Size sz1, Size sz2);
+ public static Size Ceiling(SizeF value);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static Size operator +(Size sz1, Size sz2);
+ public static bool operator ==(Size sz1, Size sz2);
+ public static explicit operator Point (Size size);
+ public static implicit operator SizeF (Size p);
+ public static bool operator !=(Size sz1, Size sz2);
+ public static Size operator -(Size sz1, Size sz2);
+ public static Size Round(SizeF value);
+ public static Size Subtract(Size sz1, Size sz2);
+ public override string ToString();
+ public static Size Truncate(SizeF value);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct SizeF {
+ public static readonly SizeF Empty;
+ public SizeF(PointF pt);
+ public SizeF(SizeF size);
+ public SizeF(float width, float height);
+ public float Height { get; set; }
+ public bool IsEmpty { get; }
+ public float Width { get; set; }
+ public static SizeF Add(SizeF sz1, SizeF sz2);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static SizeF operator +(SizeF sz1, SizeF sz2);
+ public static bool operator ==(SizeF sz1, SizeF sz2);
+ public static explicit operator PointF (SizeF size);
+ public static bool operator !=(SizeF sz1, SizeF sz2);
+ public static SizeF operator -(SizeF sz1, SizeF sz2);
+ public static SizeF Subtract(SizeF sz1, SizeF sz2);
+ public PointF ToPointF();
+ public Size ToSize();
+ public override string ToString();
+ }
+}
```

View File

@@ -1,205 +1,205 @@
# System.Dynamic
``` diff
+namespace System.Dynamic {
+ public abstract class BinaryOperationBinder : DynamicMetaObjectBinder {
+ protected BinaryOperationBinder(ExpressionType operation);
+ public ExpressionType Operation { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackBinaryOperation(DynamicMetaObject target, DynamicMetaObject arg);
+ public abstract DynamicMetaObject FallbackBinaryOperation(DynamicMetaObject target, DynamicMetaObject arg, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class BindingRestrictions {
+ public static readonly BindingRestrictions Empty;
+ public static BindingRestrictions Combine(IList<DynamicMetaObject> contributingObjects);
+ public static BindingRestrictions GetExpressionRestriction(Expression expression);
+ public static BindingRestrictions GetInstanceRestriction(Expression expression, object instance);
+ public static BindingRestrictions GetTypeRestriction(Expression expression, Type type);
+ public BindingRestrictions Merge(BindingRestrictions restrictions);
+ public Expression ToExpression();
+ }
+ public sealed class CallInfo {
+ public CallInfo(int argCount, IEnumerable<string> argNames);
+ public CallInfo(int argCount, params string[] argNames);
+ public int ArgumentCount { get; }
+ public ReadOnlyCollection<string> ArgumentNames { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ }
+ public abstract class ConvertBinder : DynamicMetaObjectBinder {
+ protected ConvertBinder(Type type, bool @explicit);
+ public bool Explicit { get; }
+ public sealed override Type ReturnType { get; }
+ public Type Type { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackConvert(DynamicMetaObject target);
+ public abstract DynamicMetaObject FallbackConvert(DynamicMetaObject target, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class CreateInstanceBinder : DynamicMetaObjectBinder {
+ protected CreateInstanceBinder(CallInfo callInfo);
+ public CallInfo CallInfo { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackCreateInstance(DynamicMetaObject target, DynamicMetaObject[] args);
+ public abstract DynamicMetaObject FallbackCreateInstance(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class DeleteIndexBinder : DynamicMetaObjectBinder {
+ protected DeleteIndexBinder(CallInfo callInfo);
+ public CallInfo CallInfo { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackDeleteIndex(DynamicMetaObject target, DynamicMetaObject[] indexes);
+ public abstract DynamicMetaObject FallbackDeleteIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class DeleteMemberBinder : DynamicMetaObjectBinder {
+ protected DeleteMemberBinder(string name, bool ignoreCase);
+ public bool IgnoreCase { get; }
+ public string Name { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackDeleteMember(DynamicMetaObject target);
+ public abstract DynamicMetaObject FallbackDeleteMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion);
+ }
+ public class DynamicMetaObject {
+ public static readonly DynamicMetaObject[] EmptyMetaObjects;
+ public DynamicMetaObject(Expression expression, BindingRestrictions restrictions);
+ public DynamicMetaObject(Expression expression, BindingRestrictions restrictions, object value);
+ public Expression Expression { get; }
+ public bool HasValue { get; }
+ public Type LimitType { get; }
+ public BindingRestrictions Restrictions { get; }
+ public Type RuntimeType { get; }
+ public object Value { get; }
+ public virtual DynamicMetaObject BindBinaryOperation(BinaryOperationBinder binder, DynamicMetaObject arg);
+ public virtual DynamicMetaObject BindConvert(ConvertBinder binder);
+ public virtual DynamicMetaObject BindCreateInstance(CreateInstanceBinder binder, DynamicMetaObject[] args);
+ public virtual DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes);
+ public virtual DynamicMetaObject BindDeleteMember(DeleteMemberBinder binder);
+ public virtual DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject[] indexes);
+ public virtual DynamicMetaObject BindGetMember(GetMemberBinder binder);
+ public virtual DynamicMetaObject BindInvoke(InvokeBinder binder, DynamicMetaObject[] args);
+ public virtual DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject[] args);
+ public virtual DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMetaObject[] indexes, DynamicMetaObject value);
+ public virtual DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value);
+ public virtual DynamicMetaObject BindUnaryOperation(UnaryOperationBinder binder);
+ public static DynamicMetaObject Create(object value, Expression expression);
+ public virtual IEnumerable<string> GetDynamicMemberNames();
+ }
+ public abstract class DynamicMetaObjectBinder : CallSiteBinder {
+ protected DynamicMetaObjectBinder();
+ public virtual Type ReturnType { get; }
+ public abstract DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public sealed override Expression Bind(object[] args, ReadOnlyCollection<ParameterExpression> parameters, LabelTarget returnLabel);
+ public DynamicMetaObject Defer(DynamicMetaObject target, params DynamicMetaObject[] args);
+ public DynamicMetaObject Defer(params DynamicMetaObject[] args);
+ public Expression GetUpdateExpression(Type type);
+ }
+ public class DynamicObject : IDynamicMetaObjectProvider {
+ protected DynamicObject();
+ public virtual IEnumerable<string> GetDynamicMemberNames();
+ public virtual DynamicMetaObject GetMetaObject(Expression parameter);
+ public virtual bool TryBinaryOperation(BinaryOperationBinder binder, object arg, out object result);
+ public virtual bool TryConvert(ConvertBinder binder, out object result);
+ public virtual bool TryCreateInstance(CreateInstanceBinder binder, object[] args, out object result);
+ public virtual bool TryDeleteIndex(DeleteIndexBinder binder, object[] indexes);
+ public virtual bool TryDeleteMember(DeleteMemberBinder binder);
+ public virtual bool TryGetIndex(GetIndexBinder binder, object[] indexes, out object result);
+ public virtual bool TryGetMember(GetMemberBinder binder, out object result);
+ public virtual bool TryInvoke(InvokeBinder binder, object[] args, out object result);
+ public virtual bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result);
+ public virtual bool TrySetIndex(SetIndexBinder binder, object[] indexes, object value);
+ public virtual bool TrySetMember(SetMemberBinder binder, object value);
+ public virtual bool TryUnaryOperation(UnaryOperationBinder binder, out object result);
+ }
+ public sealed class ExpandoObject : ICollection<KeyValuePair<string, object>>, IDictionary<string, object>, IDynamicMetaObjectProvider, IEnumerable, IEnumerable<KeyValuePair<string, object>>, INotifyPropertyChanged {
+ public ExpandoObject();
+ int System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.Count { get; }
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.IsReadOnly { get; }
+ object System.Collections.Generic.IDictionary<System.String,System.Object>.this[string key] { get; set; }
+ ICollection<string> System.Collections.Generic.IDictionary<System.String,System.Object>.Keys { get; }
+ ICollection<object> System.Collections.Generic.IDictionary<System.String,System.Object>.Values { get; }
+ event PropertyChangedEventHandler System.ComponentModel.INotifyPropertyChanged.PropertyChanged;
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.Add(KeyValuePair<string, object> item);
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.Clear();
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.Contains(KeyValuePair<string, object> item);
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.CopyTo(KeyValuePair<string, object>[] array, int arrayIndex);
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.Remove(KeyValuePair<string, object> item);
+ void System.Collections.Generic.IDictionary<System.String,System.Object>.Add(string key, object value);
+ bool System.Collections.Generic.IDictionary<System.String,System.Object>.ContainsKey(string key);
+ bool System.Collections.Generic.IDictionary<System.String,System.Object>.Remove(string key);
+ bool System.Collections.Generic.IDictionary<System.String,System.Object>.TryGetValue(string key, out object value);
+ IEnumerator<KeyValuePair<string, object>> System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.GetEnumerator();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ DynamicMetaObject System.Dynamic.IDynamicMetaObjectProvider.GetMetaObject(Expression parameter);
+ }
+ public abstract class GetIndexBinder : DynamicMetaObjectBinder {
+ protected GetIndexBinder(CallInfo callInfo);
+ public CallInfo CallInfo { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes);
+ public abstract DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class GetMemberBinder : DynamicMetaObjectBinder {
+ protected GetMemberBinder(string name, bool ignoreCase);
+ public bool IgnoreCase { get; }
+ public string Name { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackGetMember(DynamicMetaObject target);
+ public abstract DynamicMetaObject FallbackGetMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion);
+ }
+ public interface IDynamicMetaObjectProvider {
+ DynamicMetaObject GetMetaObject(Expression parameter);
+ }
+ public interface IInvokeOnGetBinder {
+ bool InvokeOnGet { get; }
+ }
+ public abstract class InvokeBinder : DynamicMetaObjectBinder {
+ protected InvokeBinder(CallInfo callInfo);
+ public CallInfo CallInfo { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject[] args);
+ public abstract DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class InvokeMemberBinder : DynamicMetaObjectBinder {
+ protected InvokeMemberBinder(string name, bool ignoreCase, CallInfo callInfo);
+ public CallInfo CallInfo { get; }
+ public bool IgnoreCase { get; }
+ public string Name { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public abstract DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject errorSuggestion);
+ public DynamicMetaObject FallbackInvokeMember(DynamicMetaObject target, DynamicMetaObject[] args);
+ public abstract DynamicMetaObject FallbackInvokeMember(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class SetIndexBinder : DynamicMetaObjectBinder {
+ protected SetIndexBinder(CallInfo callInfo);
+ public CallInfo CallInfo { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackSetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject value);
+ public abstract DynamicMetaObject FallbackSetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject value, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class SetMemberBinder : DynamicMetaObjectBinder {
+ protected SetMemberBinder(string name, bool ignoreCase);
+ public bool IgnoreCase { get; }
+ public string Name { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value);
+ public abstract DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class UnaryOperationBinder : DynamicMetaObjectBinder {
+ protected UnaryOperationBinder(ExpressionType operation);
+ public ExpressionType Operation { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackUnaryOperation(DynamicMetaObject target);
+ public abstract DynamicMetaObject FallbackUnaryOperation(DynamicMetaObject target, DynamicMetaObject errorSuggestion);
+ }
+}
```
# System.Dynamic
``` diff
+namespace System.Dynamic {
+ public abstract class BinaryOperationBinder : DynamicMetaObjectBinder {
+ protected BinaryOperationBinder(ExpressionType operation);
+ public ExpressionType Operation { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackBinaryOperation(DynamicMetaObject target, DynamicMetaObject arg);
+ public abstract DynamicMetaObject FallbackBinaryOperation(DynamicMetaObject target, DynamicMetaObject arg, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class BindingRestrictions {
+ public static readonly BindingRestrictions Empty;
+ public static BindingRestrictions Combine(IList<DynamicMetaObject> contributingObjects);
+ public static BindingRestrictions GetExpressionRestriction(Expression expression);
+ public static BindingRestrictions GetInstanceRestriction(Expression expression, object instance);
+ public static BindingRestrictions GetTypeRestriction(Expression expression, Type type);
+ public BindingRestrictions Merge(BindingRestrictions restrictions);
+ public Expression ToExpression();
+ }
+ public sealed class CallInfo {
+ public CallInfo(int argCount, IEnumerable<string> argNames);
+ public CallInfo(int argCount, params string[] argNames);
+ public int ArgumentCount { get; }
+ public ReadOnlyCollection<string> ArgumentNames { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ }
+ public abstract class ConvertBinder : DynamicMetaObjectBinder {
+ protected ConvertBinder(Type type, bool @explicit);
+ public bool Explicit { get; }
+ public sealed override Type ReturnType { get; }
+ public Type Type { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackConvert(DynamicMetaObject target);
+ public abstract DynamicMetaObject FallbackConvert(DynamicMetaObject target, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class CreateInstanceBinder : DynamicMetaObjectBinder {
+ protected CreateInstanceBinder(CallInfo callInfo);
+ public CallInfo CallInfo { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackCreateInstance(DynamicMetaObject target, DynamicMetaObject[] args);
+ public abstract DynamicMetaObject FallbackCreateInstance(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class DeleteIndexBinder : DynamicMetaObjectBinder {
+ protected DeleteIndexBinder(CallInfo callInfo);
+ public CallInfo CallInfo { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackDeleteIndex(DynamicMetaObject target, DynamicMetaObject[] indexes);
+ public abstract DynamicMetaObject FallbackDeleteIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class DeleteMemberBinder : DynamicMetaObjectBinder {
+ protected DeleteMemberBinder(string name, bool ignoreCase);
+ public bool IgnoreCase { get; }
+ public string Name { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackDeleteMember(DynamicMetaObject target);
+ public abstract DynamicMetaObject FallbackDeleteMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion);
+ }
+ public class DynamicMetaObject {
+ public static readonly DynamicMetaObject[] EmptyMetaObjects;
+ public DynamicMetaObject(Expression expression, BindingRestrictions restrictions);
+ public DynamicMetaObject(Expression expression, BindingRestrictions restrictions, object value);
+ public Expression Expression { get; }
+ public bool HasValue { get; }
+ public Type LimitType { get; }
+ public BindingRestrictions Restrictions { get; }
+ public Type RuntimeType { get; }
+ public object Value { get; }
+ public virtual DynamicMetaObject BindBinaryOperation(BinaryOperationBinder binder, DynamicMetaObject arg);
+ public virtual DynamicMetaObject BindConvert(ConvertBinder binder);
+ public virtual DynamicMetaObject BindCreateInstance(CreateInstanceBinder binder, DynamicMetaObject[] args);
+ public virtual DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes);
+ public virtual DynamicMetaObject BindDeleteMember(DeleteMemberBinder binder);
+ public virtual DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject[] indexes);
+ public virtual DynamicMetaObject BindGetMember(GetMemberBinder binder);
+ public virtual DynamicMetaObject BindInvoke(InvokeBinder binder, DynamicMetaObject[] args);
+ public virtual DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject[] args);
+ public virtual DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMetaObject[] indexes, DynamicMetaObject value);
+ public virtual DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value);
+ public virtual DynamicMetaObject BindUnaryOperation(UnaryOperationBinder binder);
+ public static DynamicMetaObject Create(object value, Expression expression);
+ public virtual IEnumerable<string> GetDynamicMemberNames();
+ }
+ public abstract class DynamicMetaObjectBinder : CallSiteBinder {
+ protected DynamicMetaObjectBinder();
+ public virtual Type ReturnType { get; }
+ public abstract DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public sealed override Expression Bind(object[] args, ReadOnlyCollection<ParameterExpression> parameters, LabelTarget returnLabel);
+ public DynamicMetaObject Defer(DynamicMetaObject target, params DynamicMetaObject[] args);
+ public DynamicMetaObject Defer(params DynamicMetaObject[] args);
+ public Expression GetUpdateExpression(Type type);
+ }
+ public class DynamicObject : IDynamicMetaObjectProvider {
+ protected DynamicObject();
+ public virtual IEnumerable<string> GetDynamicMemberNames();
+ public virtual DynamicMetaObject GetMetaObject(Expression parameter);
+ public virtual bool TryBinaryOperation(BinaryOperationBinder binder, object arg, out object result);
+ public virtual bool TryConvert(ConvertBinder binder, out object result);
+ public virtual bool TryCreateInstance(CreateInstanceBinder binder, object[] args, out object result);
+ public virtual bool TryDeleteIndex(DeleteIndexBinder binder, object[] indexes);
+ public virtual bool TryDeleteMember(DeleteMemberBinder binder);
+ public virtual bool TryGetIndex(GetIndexBinder binder, object[] indexes, out object result);
+ public virtual bool TryGetMember(GetMemberBinder binder, out object result);
+ public virtual bool TryInvoke(InvokeBinder binder, object[] args, out object result);
+ public virtual bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result);
+ public virtual bool TrySetIndex(SetIndexBinder binder, object[] indexes, object value);
+ public virtual bool TrySetMember(SetMemberBinder binder, object value);
+ public virtual bool TryUnaryOperation(UnaryOperationBinder binder, out object result);
+ }
+ public sealed class ExpandoObject : ICollection<KeyValuePair<string, object>>, IDictionary<string, object>, IDynamicMetaObjectProvider, IEnumerable, IEnumerable<KeyValuePair<string, object>>, INotifyPropertyChanged {
+ public ExpandoObject();
+ int System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.Count { get; }
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.IsReadOnly { get; }
+ object System.Collections.Generic.IDictionary<System.String,System.Object>.this[string key] { get; set; }
+ ICollection<string> System.Collections.Generic.IDictionary<System.String,System.Object>.Keys { get; }
+ ICollection<object> System.Collections.Generic.IDictionary<System.String,System.Object>.Values { get; }
+ event PropertyChangedEventHandler System.ComponentModel.INotifyPropertyChanged.PropertyChanged;
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.Add(KeyValuePair<string, object> item);
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.Clear();
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.Contains(KeyValuePair<string, object> item);
+ void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.CopyTo(KeyValuePair<string, object>[] array, int arrayIndex);
+ bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.Remove(KeyValuePair<string, object> item);
+ void System.Collections.Generic.IDictionary<System.String,System.Object>.Add(string key, object value);
+ bool System.Collections.Generic.IDictionary<System.String,System.Object>.ContainsKey(string key);
+ bool System.Collections.Generic.IDictionary<System.String,System.Object>.Remove(string key);
+ bool System.Collections.Generic.IDictionary<System.String,System.Object>.TryGetValue(string key, out object value);
+ IEnumerator<KeyValuePair<string, object>> System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.GetEnumerator();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ DynamicMetaObject System.Dynamic.IDynamicMetaObjectProvider.GetMetaObject(Expression parameter);
+ }
+ public abstract class GetIndexBinder : DynamicMetaObjectBinder {
+ protected GetIndexBinder(CallInfo callInfo);
+ public CallInfo CallInfo { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes);
+ public abstract DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class GetMemberBinder : DynamicMetaObjectBinder {
+ protected GetMemberBinder(string name, bool ignoreCase);
+ public bool IgnoreCase { get; }
+ public string Name { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackGetMember(DynamicMetaObject target);
+ public abstract DynamicMetaObject FallbackGetMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion);
+ }
+ public interface IDynamicMetaObjectProvider {
+ DynamicMetaObject GetMetaObject(Expression parameter);
+ }
+ public interface IInvokeOnGetBinder {
+ bool InvokeOnGet { get; }
+ }
+ public abstract class InvokeBinder : DynamicMetaObjectBinder {
+ protected InvokeBinder(CallInfo callInfo);
+ public CallInfo CallInfo { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject[] args);
+ public abstract DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class InvokeMemberBinder : DynamicMetaObjectBinder {
+ protected InvokeMemberBinder(string name, bool ignoreCase, CallInfo callInfo);
+ public CallInfo CallInfo { get; }
+ public bool IgnoreCase { get; }
+ public string Name { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public abstract DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject errorSuggestion);
+ public DynamicMetaObject FallbackInvokeMember(DynamicMetaObject target, DynamicMetaObject[] args);
+ public abstract DynamicMetaObject FallbackInvokeMember(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class SetIndexBinder : DynamicMetaObjectBinder {
+ protected SetIndexBinder(CallInfo callInfo);
+ public CallInfo CallInfo { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackSetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject value);
+ public abstract DynamicMetaObject FallbackSetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject value, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class SetMemberBinder : DynamicMetaObjectBinder {
+ protected SetMemberBinder(string name, bool ignoreCase);
+ public bool IgnoreCase { get; }
+ public string Name { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value);
+ public abstract DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value, DynamicMetaObject errorSuggestion);
+ }
+ public abstract class UnaryOperationBinder : DynamicMetaObjectBinder {
+ protected UnaryOperationBinder(ExpressionType operation);
+ public ExpressionType Operation { get; }
+ public sealed override Type ReturnType { get; }
+ public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args);
+ public DynamicMetaObject FallbackUnaryOperation(DynamicMetaObject target);
+ public abstract DynamicMetaObject FallbackUnaryOperation(DynamicMetaObject target, DynamicMetaObject errorSuggestion);
+ }
+}
```

File diff suppressed because it is too large Load Diff

View File

@@ -1,102 +1,102 @@
# System.IO.Compression
``` diff
+namespace System.IO.Compression {
+ public enum CompressionLevel {
+ Fastest = 1,
+ NoCompression = 2,
+ Optimal = 0,
+ }
+ public enum CompressionMode {
+ Compress = 1,
+ Decompress = 0,
+ }
+ public class DeflateStream : Stream {
+ public DeflateStream(Stream stream, CompressionLevel compressionLevel);
+ public DeflateStream(Stream stream, CompressionLevel compressionLevel, bool leaveOpen);
+ public DeflateStream(Stream stream, CompressionMode mode);
+ public DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen);
+ public Stream BaseStream { get; }
+ public override bool CanRead { get; }
+ public override bool CanSeek { get; }
+ public override bool CanWrite { get; }
+ public override long Length { get; }
+ public override long Position { get; set; }
+ protected override void Dispose(bool disposing);
+ public override void Flush();
+ public override int Read(byte[] array, int offset, int count);
+ public override Task<int> ReadAsync(byte[] array, int offset, int count, CancellationToken cancellationToken);
+ public override long Seek(long offset, SeekOrigin origin);
+ public override void SetLength(long value);
+ public override void Write(byte[] array, int offset, int count);
+ public override Task WriteAsync(byte[] array, int offset, int count, CancellationToken cancellationToken);
+ }
+ public class GZipStream : Stream {
+ public GZipStream(Stream stream, CompressionLevel compressionLevel);
+ public GZipStream(Stream stream, CompressionLevel compressionLevel, bool leaveOpen);
+ public GZipStream(Stream stream, CompressionMode mode);
+ public GZipStream(Stream stream, CompressionMode mode, bool leaveOpen);
+ public Stream BaseStream { get; }
+ public override bool CanRead { get; }
+ public override bool CanSeek { get; }
+ public override bool CanWrite { get; }
+ public override long Length { get; }
+ public override long Position { get; set; }
+ protected override void Dispose(bool disposing);
+ public override void Flush();
+ public override int Read(byte[] array, int offset, int count);
+ public override Task<int> ReadAsync(byte[] array, int offset, int count, CancellationToken cancellationToken);
+ public override long Seek(long offset, SeekOrigin origin);
+ public override void SetLength(long value);
+ public override void Write(byte[] array, int offset, int count);
+ public override Task WriteAsync(byte[] array, int offset, int count, CancellationToken cancellationToken);
+ }
+ public class ZipArchive : IDisposable {
+ public ZipArchive(Stream stream);
+ public ZipArchive(Stream stream, ZipArchiveMode mode);
+ public ZipArchive(Stream stream, ZipArchiveMode mode, bool leaveOpen);
+ public ZipArchive(Stream stream, ZipArchiveMode mode, bool leaveOpen, Encoding entryNameEncoding);
+ public ReadOnlyCollection<ZipArchiveEntry> Entries { get; }
+ public ZipArchiveMode Mode { get; }
+ public ZipArchiveEntry CreateEntry(string entryName);
+ public ZipArchiveEntry CreateEntry(string entryName, CompressionLevel compressionLevel);
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public ZipArchiveEntry GetEntry(string entryName);
+ }
+ public class ZipArchiveEntry {
+ public ZipArchive Archive { get; }
+ public long CompressedLength { get; }
+ public string FullName { get; }
+ public DateTimeOffset LastWriteTime { get; set; }
+ public long Length { get; }
+ public string Name { get; }
+ public void Delete();
+ public Stream Open();
+ public override string ToString();
+ }
+ public enum ZipArchiveMode {
+ Create = 1,
+ Read = 0,
+ Update = 2,
+ }
+ public static class ZipFile {
+ public static void CreateFromDirectory(string sourceDirectoryName, string destinationArchiveFileName);
+ public static void CreateFromDirectory(string sourceDirectoryName, string destinationArchiveFileName, CompressionLevel compressionLevel, bool includeBaseDirectory);
+ public static void CreateFromDirectory(string sourceDirectoryName, string destinationArchiveFileName, CompressionLevel compressionLevel, bool includeBaseDirectory, Encoding entryNameEncoding);
+ public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName);
+ public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, Encoding entryNameEncoding);
+ public static ZipArchive Open(string archiveFileName, ZipArchiveMode mode);
+ public static ZipArchive Open(string archiveFileName, ZipArchiveMode mode, Encoding entryNameEncoding);
+ public static ZipArchive OpenRead(string archiveFileName);
+ }
+ public static class ZipFileExtensions {
+ public static ZipArchiveEntry CreateEntryFromFile(this ZipArchive destination, string sourceFileName, string entryName);
+ public static ZipArchiveEntry CreateEntryFromFile(this ZipArchive destination, string sourceFileName, string entryName, CompressionLevel compressionLevel);
+ public static void ExtractToDirectory(this ZipArchive source, string destinationDirectoryName);
+ public static void ExtractToFile(this ZipArchiveEntry source, string destinationFileName);
+ public static void ExtractToFile(this ZipArchiveEntry source, string destinationFileName, bool overwrite);
+ }
+}
```
# System.IO.Compression
``` diff
+namespace System.IO.Compression {
+ public enum CompressionLevel {
+ Fastest = 1,
+ NoCompression = 2,
+ Optimal = 0,
+ }
+ public enum CompressionMode {
+ Compress = 1,
+ Decompress = 0,
+ }
+ public class DeflateStream : Stream {
+ public DeflateStream(Stream stream, CompressionLevel compressionLevel);
+ public DeflateStream(Stream stream, CompressionLevel compressionLevel, bool leaveOpen);
+ public DeflateStream(Stream stream, CompressionMode mode);
+ public DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen);
+ public Stream BaseStream { get; }
+ public override bool CanRead { get; }
+ public override bool CanSeek { get; }
+ public override bool CanWrite { get; }
+ public override long Length { get; }
+ public override long Position { get; set; }
+ protected override void Dispose(bool disposing);
+ public override void Flush();
+ public override int Read(byte[] array, int offset, int count);
+ public override Task<int> ReadAsync(byte[] array, int offset, int count, CancellationToken cancellationToken);
+ public override long Seek(long offset, SeekOrigin origin);
+ public override void SetLength(long value);
+ public override void Write(byte[] array, int offset, int count);
+ public override Task WriteAsync(byte[] array, int offset, int count, CancellationToken cancellationToken);
+ }
+ public class GZipStream : Stream {
+ public GZipStream(Stream stream, CompressionLevel compressionLevel);
+ public GZipStream(Stream stream, CompressionLevel compressionLevel, bool leaveOpen);
+ public GZipStream(Stream stream, CompressionMode mode);
+ public GZipStream(Stream stream, CompressionMode mode, bool leaveOpen);
+ public Stream BaseStream { get; }
+ public override bool CanRead { get; }
+ public override bool CanSeek { get; }
+ public override bool CanWrite { get; }
+ public override long Length { get; }
+ public override long Position { get; set; }
+ protected override void Dispose(bool disposing);
+ public override void Flush();
+ public override int Read(byte[] array, int offset, int count);
+ public override Task<int> ReadAsync(byte[] array, int offset, int count, CancellationToken cancellationToken);
+ public override long Seek(long offset, SeekOrigin origin);
+ public override void SetLength(long value);
+ public override void Write(byte[] array, int offset, int count);
+ public override Task WriteAsync(byte[] array, int offset, int count, CancellationToken cancellationToken);
+ }
+ public class ZipArchive : IDisposable {
+ public ZipArchive(Stream stream);
+ public ZipArchive(Stream stream, ZipArchiveMode mode);
+ public ZipArchive(Stream stream, ZipArchiveMode mode, bool leaveOpen);
+ public ZipArchive(Stream stream, ZipArchiveMode mode, bool leaveOpen, Encoding entryNameEncoding);
+ public ReadOnlyCollection<ZipArchiveEntry> Entries { get; }
+ public ZipArchiveMode Mode { get; }
+ public ZipArchiveEntry CreateEntry(string entryName);
+ public ZipArchiveEntry CreateEntry(string entryName, CompressionLevel compressionLevel);
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public ZipArchiveEntry GetEntry(string entryName);
+ }
+ public class ZipArchiveEntry {
+ public ZipArchive Archive { get; }
+ public long CompressedLength { get; }
+ public string FullName { get; }
+ public DateTimeOffset LastWriteTime { get; set; }
+ public long Length { get; }
+ public string Name { get; }
+ public void Delete();
+ public Stream Open();
+ public override string ToString();
+ }
+ public enum ZipArchiveMode {
+ Create = 1,
+ Read = 0,
+ Update = 2,
+ }
+ public static class ZipFile {
+ public static void CreateFromDirectory(string sourceDirectoryName, string destinationArchiveFileName);
+ public static void CreateFromDirectory(string sourceDirectoryName, string destinationArchiveFileName, CompressionLevel compressionLevel, bool includeBaseDirectory);
+ public static void CreateFromDirectory(string sourceDirectoryName, string destinationArchiveFileName, CompressionLevel compressionLevel, bool includeBaseDirectory, Encoding entryNameEncoding);
+ public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName);
+ public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, Encoding entryNameEncoding);
+ public static ZipArchive Open(string archiveFileName, ZipArchiveMode mode);
+ public static ZipArchive Open(string archiveFileName, ZipArchiveMode mode, Encoding entryNameEncoding);
+ public static ZipArchive OpenRead(string archiveFileName);
+ }
+ public static class ZipFileExtensions {
+ public static ZipArchiveEntry CreateEntryFromFile(this ZipArchive destination, string sourceFileName, string entryName);
+ public static ZipArchiveEntry CreateEntryFromFile(this ZipArchive destination, string sourceFileName, string entryName, CompressionLevel compressionLevel);
+ public static void ExtractToDirectory(this ZipArchive source, string destinationDirectoryName);
+ public static void ExtractToFile(this ZipArchiveEntry source, string destinationFileName);
+ public static void ExtractToFile(this ZipArchiveEntry source, string destinationFileName, bool overwrite);
+ }
+}
```

View File

@@ -1,73 +1,73 @@
# System.IO.MemoryMappedFiles
``` diff
+namespace System.IO.MemoryMappedFiles {
+ public class MemoryMappedFile : IDisposable {
+ public SafeMemoryMappedFileHandle SafeMemoryMappedFileHandle { get; }
+ public static MemoryMappedFile CreateFromFile(FileStream fileStream, string mapName, long capacity, MemoryMappedFileAccess access, HandleInheritability inheritability, bool leaveOpen);
+ public static MemoryMappedFile CreateFromFile(string path);
+ public static MemoryMappedFile CreateFromFile(string path, FileMode mode);
+ public static MemoryMappedFile CreateFromFile(string path, FileMode mode, string mapName);
+ public static MemoryMappedFile CreateFromFile(string path, FileMode mode, string mapName, long capacity);
+ public static MemoryMappedFile CreateFromFile(string path, FileMode mode, string mapName, long capacity, MemoryMappedFileAccess access);
+ public static MemoryMappedFile CreateNew(string mapName, long capacity);
+ public static MemoryMappedFile CreateNew(string mapName, long capacity, MemoryMappedFileAccess access);
+ public static MemoryMappedFile CreateNew(string mapName, long capacity, MemoryMappedFileAccess access, MemoryMappedFileOptions options, HandleInheritability inheritability);
+ public static MemoryMappedFile CreateOrOpen(string mapName, long capacity);
+ public static MemoryMappedFile CreateOrOpen(string mapName, long capacity, MemoryMappedFileAccess access);
+ public static MemoryMappedFile CreateOrOpen(string mapName, long capacity, MemoryMappedFileAccess access, MemoryMappedFileOptions options, HandleInheritability inheritability);
+ public MemoryMappedViewAccessor CreateViewAccessor();
+ public MemoryMappedViewAccessor CreateViewAccessor(long offset, long size);
+ public MemoryMappedViewAccessor CreateViewAccessor(long offset, long size, MemoryMappedFileAccess access);
+ public MemoryMappedViewStream CreateViewStream();
+ public MemoryMappedViewStream CreateViewStream(long offset, long size);
+ public MemoryMappedViewStream CreateViewStream(long offset, long size, MemoryMappedFileAccess access);
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public static MemoryMappedFile OpenExisting(string mapName);
+ public static MemoryMappedFile OpenExisting(string mapName, MemoryMappedFileRights desiredAccessRights);
+ public static MemoryMappedFile OpenExisting(string mapName, MemoryMappedFileRights desiredAccessRights, HandleInheritability inheritability);
+ }
+ public enum MemoryMappedFileAccess {
+ CopyOnWrite = 3,
+ Read = 1,
+ ReadExecute = 4,
+ ReadWrite = 0,
+ ReadWriteExecute = 5,
+ Write = 2,
+ }
+ public enum MemoryMappedFileOptions {
+ DelayAllocatePages = 67108864,
+ None = 0,
+ }
+ public enum MemoryMappedFileRights {
+ AccessSystemSecurity = 16777216,
+ ChangePermissions = 262144,
+ CopyOnWrite = 1,
+ Delete = 65536,
+ Execute = 8,
+ FullControl = 983055,
+ Read = 4,
+ ReadExecute = 12,
+ ReadPermissions = 131072,
+ ReadWrite = 6,
+ ReadWriteExecute = 14,
+ TakeOwnership = 524288,
+ Write = 2,
+ }
+ public sealed class MemoryMappedViewAccessor : UnmanagedMemoryAccessor {
+ public long PointerOffset { get; }
+ public SafeMemoryMappedViewHandle SafeMemoryMappedViewHandle { get; }
+ protected override void Dispose(bool disposing);
+ public void Flush();
+ }
+ public sealed class MemoryMappedViewStream : UnmanagedMemoryStream {
+ public long PointerOffset { get; }
+ public SafeMemoryMappedViewHandle SafeMemoryMappedViewHandle { get; }
+ protected override void Dispose(bool disposing);
+ public override void Flush();
+ public override void SetLength(long value);
+ }
+}
```
# System.IO.MemoryMappedFiles
``` diff
+namespace System.IO.MemoryMappedFiles {
+ public class MemoryMappedFile : IDisposable {
+ public SafeMemoryMappedFileHandle SafeMemoryMappedFileHandle { get; }
+ public static MemoryMappedFile CreateFromFile(FileStream fileStream, string mapName, long capacity, MemoryMappedFileAccess access, HandleInheritability inheritability, bool leaveOpen);
+ public static MemoryMappedFile CreateFromFile(string path);
+ public static MemoryMappedFile CreateFromFile(string path, FileMode mode);
+ public static MemoryMappedFile CreateFromFile(string path, FileMode mode, string mapName);
+ public static MemoryMappedFile CreateFromFile(string path, FileMode mode, string mapName, long capacity);
+ public static MemoryMappedFile CreateFromFile(string path, FileMode mode, string mapName, long capacity, MemoryMappedFileAccess access);
+ public static MemoryMappedFile CreateNew(string mapName, long capacity);
+ public static MemoryMappedFile CreateNew(string mapName, long capacity, MemoryMappedFileAccess access);
+ public static MemoryMappedFile CreateNew(string mapName, long capacity, MemoryMappedFileAccess access, MemoryMappedFileOptions options, HandleInheritability inheritability);
+ public static MemoryMappedFile CreateOrOpen(string mapName, long capacity);
+ public static MemoryMappedFile CreateOrOpen(string mapName, long capacity, MemoryMappedFileAccess access);
+ public static MemoryMappedFile CreateOrOpen(string mapName, long capacity, MemoryMappedFileAccess access, MemoryMappedFileOptions options, HandleInheritability inheritability);
+ public MemoryMappedViewAccessor CreateViewAccessor();
+ public MemoryMappedViewAccessor CreateViewAccessor(long offset, long size);
+ public MemoryMappedViewAccessor CreateViewAccessor(long offset, long size, MemoryMappedFileAccess access);
+ public MemoryMappedViewStream CreateViewStream();
+ public MemoryMappedViewStream CreateViewStream(long offset, long size);
+ public MemoryMappedViewStream CreateViewStream(long offset, long size, MemoryMappedFileAccess access);
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public static MemoryMappedFile OpenExisting(string mapName);
+ public static MemoryMappedFile OpenExisting(string mapName, MemoryMappedFileRights desiredAccessRights);
+ public static MemoryMappedFile OpenExisting(string mapName, MemoryMappedFileRights desiredAccessRights, HandleInheritability inheritability);
+ }
+ public enum MemoryMappedFileAccess {
+ CopyOnWrite = 3,
+ Read = 1,
+ ReadExecute = 4,
+ ReadWrite = 0,
+ ReadWriteExecute = 5,
+ Write = 2,
+ }
+ public enum MemoryMappedFileOptions {
+ DelayAllocatePages = 67108864,
+ None = 0,
+ }
+ public enum MemoryMappedFileRights {
+ AccessSystemSecurity = 16777216,
+ ChangePermissions = 262144,
+ CopyOnWrite = 1,
+ Delete = 65536,
+ Execute = 8,
+ FullControl = 983055,
+ Read = 4,
+ ReadExecute = 12,
+ ReadPermissions = 131072,
+ ReadWrite = 6,
+ ReadWriteExecute = 14,
+ TakeOwnership = 524288,
+ Write = 2,
+ }
+ public sealed class MemoryMappedViewAccessor : UnmanagedMemoryAccessor {
+ public long PointerOffset { get; }
+ public SafeMemoryMappedViewHandle SafeMemoryMappedViewHandle { get; }
+ protected override void Dispose(bool disposing);
+ public void Flush();
+ }
+ public sealed class MemoryMappedViewStream : UnmanagedMemoryStream {
+ public long PointerOffset { get; }
+ public SafeMemoryMappedViewHandle SafeMemoryMappedViewHandle { get; }
+ protected override void Dispose(bool disposing);
+ public override void Flush();
+ public override void SetLength(long value);
+ }
+}
```

View File

@@ -1,148 +1,148 @@
# System.IO.Packaging
``` diff
+namespace System.IO.Packaging {
+ public enum CompressionOption {
+ Fast = 2,
+ Maximum = 1,
+ Normal = 0,
+ NotCompressed = -1,
+ SuperFast = 3,
+ }
+ public enum EncryptionOption {
+ None = 0,
+ RightsManagement = 1,
+ }
+ public abstract class Package : IDisposable {
+ protected Package(FileAccess openFileAccess);
+ public FileAccess FileOpenAccess { get; }
+ public PackageProperties PackageProperties { get; }
+ public void Close();
+ public PackagePart CreatePart(Uri partUri, string contentType);
+ public PackagePart CreatePart(Uri partUri, string contentType, CompressionOption compressionOption);
+ protected abstract PackagePart CreatePartCore(Uri partUri, string contentType, CompressionOption compressionOption);
+ public PackageRelationship CreateRelationship(Uri targetUri, TargetMode targetMode, string relationshipType);
+ public PackageRelationship CreateRelationship(Uri targetUri, TargetMode targetMode, string relationshipType, string id);
+ public void DeletePart(Uri partUri);
+ protected abstract void DeletePartCore(Uri partUri);
+ public void DeleteRelationship(string id);
+ protected virtual void Dispose(bool disposing);
+ public void Flush();
+ protected abstract void FlushCore();
+ public PackagePart GetPart(Uri partUri);
+ protected abstract PackagePart GetPartCore(Uri partUri);
+ public PackagePartCollection GetParts();
+ protected abstract PackagePart[] GetPartsCore();
+ public PackageRelationship GetRelationship(string id);
+ public PackageRelationshipCollection GetRelationships();
+ public PackageRelationshipCollection GetRelationshipsByType(string relationshipType);
+ public static Package Open(Stream stream);
+ public static Package Open(Stream stream, FileMode packageMode);
+ public static Package Open(Stream stream, FileMode packageMode, FileAccess packageAccess);
+ public static Package Open(string path);
+ public static Package Open(string path, FileMode packageMode);
+ public static Package Open(string path, FileMode packageMode, FileAccess packageAccess);
+ public static Package Open(string path, FileMode packageMode, FileAccess packageAccess, FileShare packageShare);
+ public virtual bool PartExists(Uri partUri);
+ public bool RelationshipExists(string id);
+ void System.IDisposable.Dispose();
+ }
+ public abstract class PackagePart {
+ protected PackagePart(Package package, Uri partUri);
+ protected PackagePart(Package package, Uri partUri, string contentType);
+ protected PackagePart(Package package, Uri partUri, string contentType, CompressionOption compressionOption);
+ public CompressionOption CompressionOption { get; }
+ public string ContentType { get; }
+ public Package Package { get; }
+ public Uri Uri { get; }
+ public PackageRelationship CreateRelationship(Uri targetUri, TargetMode targetMode, string relationshipType);
+ public PackageRelationship CreateRelationship(Uri targetUri, TargetMode targetMode, string relationshipType, string id);
+ public void DeleteRelationship(string id);
+ protected virtual string GetContentTypeCore();
+ public PackageRelationship GetRelationship(string id);
+ public PackageRelationshipCollection GetRelationships();
+ public PackageRelationshipCollection GetRelationshipsByType(string relationshipType);
+ public Stream GetStream();
+ public Stream GetStream(FileMode mode);
+ public Stream GetStream(FileMode mode, FileAccess access);
+ protected abstract Stream GetStreamCore(FileMode mode, FileAccess access);
+ public bool RelationshipExists(string id);
+ }
+ public class PackagePartCollection : IEnumerable, IEnumerable<PackagePart> {
+ public IEnumerator<PackagePart> GetEnumerator();
+ IEnumerator<PackagePart> System.Collections.Generic.IEnumerable<System.IO.Packaging.PackagePart>.GetEnumerator();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public abstract class PackageProperties : IDisposable {
+ protected PackageProperties();
+ public abstract string Category { get; set; }
+ public abstract string ContentStatus { get; set; }
+ public abstract string ContentType { get; set; }
+ public abstract Nullable<DateTime> Created { get; set; }
+ public abstract string Creator { get; set; }
+ public abstract string Description { get; set; }
+ public abstract string Identifier { get; set; }
+ public abstract string Keywords { get; set; }
+ public abstract string Language { get; set; }
+ public abstract string LastModifiedBy { get; set; }
+ public abstract Nullable<DateTime> LastPrinted { get; set; }
+ public abstract Nullable<DateTime> Modified { get; set; }
+ public abstract string Revision { get; set; }
+ public abstract string Subject { get; set; }
+ public abstract string Title { get; set; }
+ public abstract string Version { get; set; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ }
+ public class PackageRelationship {
+ public string Id { get; }
+ public Package Package { get; }
+ public string RelationshipType { get; }
+ public Uri SourceUri { get; }
+ public TargetMode TargetMode { get; }
+ public Uri TargetUri { get; }
+ }
+ public class PackageRelationshipCollection : IEnumerable, IEnumerable<PackageRelationship> {
+ public IEnumerator<PackageRelationship> GetEnumerator();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class PackageRelationshipSelector {
+ public PackageRelationshipSelector(Uri sourceUri, PackageRelationshipSelectorType selectorType, string selectionCriteria);
+ public string SelectionCriteria { get; }
+ public PackageRelationshipSelectorType SelectorType { get; }
+ public Uri SourceUri { get; }
+ public List<PackageRelationship> Select(Package package);
+ }
+ public enum PackageRelationshipSelectorType {
+ Id = 0,
+ Type = 1,
+ }
+ public static class PackUriHelper {
+ public static readonly string UriSchemePack;
+ public static int ComparePartUri(Uri firstPartUri, Uri secondPartUri);
+ public static Uri CreatePartUri(Uri partUri);
+ public static Uri GetNormalizedPartUri(Uri partUri);
+ public static Uri GetRelationshipPartUri(Uri partUri);
+ public static Uri GetRelativeUri(Uri sourcePartUri, Uri targetPartUri);
+ public static Uri GetSourcePartUriFromRelationshipPartUri(Uri relationshipPartUri);
+ public static bool IsRelationshipPartUri(Uri partUri);
+ public static Uri ResolvePartUri(Uri sourcePartUri, Uri targetUri);
+ }
+ public enum TargetMode {
+ External = 1,
+ Internal = 0,
+ }
+ public sealed class ZipPackage : Package {
+ protected override PackagePart CreatePartCore(Uri partUri, string contentType, CompressionOption compressionOption);
+ protected override void DeletePartCore(Uri partUri);
+ protected override void Dispose(bool disposing);
+ protected override void FlushCore();
+ protected override PackagePart GetPartCore(Uri partUri);
+ protected override PackagePart[] GetPartsCore();
+ }
+ public sealed class ZipPackagePart : PackagePart {
+ protected override Stream GetStreamCore(FileMode streamFileMode, FileAccess streamFileAccess);
+ }
+}
```
# System.IO.Packaging
``` diff
+namespace System.IO.Packaging {
+ public enum CompressionOption {
+ Fast = 2,
+ Maximum = 1,
+ Normal = 0,
+ NotCompressed = -1,
+ SuperFast = 3,
+ }
+ public enum EncryptionOption {
+ None = 0,
+ RightsManagement = 1,
+ }
+ public abstract class Package : IDisposable {
+ protected Package(FileAccess openFileAccess);
+ public FileAccess FileOpenAccess { get; }
+ public PackageProperties PackageProperties { get; }
+ public void Close();
+ public PackagePart CreatePart(Uri partUri, string contentType);
+ public PackagePart CreatePart(Uri partUri, string contentType, CompressionOption compressionOption);
+ protected abstract PackagePart CreatePartCore(Uri partUri, string contentType, CompressionOption compressionOption);
+ public PackageRelationship CreateRelationship(Uri targetUri, TargetMode targetMode, string relationshipType);
+ public PackageRelationship CreateRelationship(Uri targetUri, TargetMode targetMode, string relationshipType, string id);
+ public void DeletePart(Uri partUri);
+ protected abstract void DeletePartCore(Uri partUri);
+ public void DeleteRelationship(string id);
+ protected virtual void Dispose(bool disposing);
+ public void Flush();
+ protected abstract void FlushCore();
+ public PackagePart GetPart(Uri partUri);
+ protected abstract PackagePart GetPartCore(Uri partUri);
+ public PackagePartCollection GetParts();
+ protected abstract PackagePart[] GetPartsCore();
+ public PackageRelationship GetRelationship(string id);
+ public PackageRelationshipCollection GetRelationships();
+ public PackageRelationshipCollection GetRelationshipsByType(string relationshipType);
+ public static Package Open(Stream stream);
+ public static Package Open(Stream stream, FileMode packageMode);
+ public static Package Open(Stream stream, FileMode packageMode, FileAccess packageAccess);
+ public static Package Open(string path);
+ public static Package Open(string path, FileMode packageMode);
+ public static Package Open(string path, FileMode packageMode, FileAccess packageAccess);
+ public static Package Open(string path, FileMode packageMode, FileAccess packageAccess, FileShare packageShare);
+ public virtual bool PartExists(Uri partUri);
+ public bool RelationshipExists(string id);
+ void System.IDisposable.Dispose();
+ }
+ public abstract class PackagePart {
+ protected PackagePart(Package package, Uri partUri);
+ protected PackagePart(Package package, Uri partUri, string contentType);
+ protected PackagePart(Package package, Uri partUri, string contentType, CompressionOption compressionOption);
+ public CompressionOption CompressionOption { get; }
+ public string ContentType { get; }
+ public Package Package { get; }
+ public Uri Uri { get; }
+ public PackageRelationship CreateRelationship(Uri targetUri, TargetMode targetMode, string relationshipType);
+ public PackageRelationship CreateRelationship(Uri targetUri, TargetMode targetMode, string relationshipType, string id);
+ public void DeleteRelationship(string id);
+ protected virtual string GetContentTypeCore();
+ public PackageRelationship GetRelationship(string id);
+ public PackageRelationshipCollection GetRelationships();
+ public PackageRelationshipCollection GetRelationshipsByType(string relationshipType);
+ public Stream GetStream();
+ public Stream GetStream(FileMode mode);
+ public Stream GetStream(FileMode mode, FileAccess access);
+ protected abstract Stream GetStreamCore(FileMode mode, FileAccess access);
+ public bool RelationshipExists(string id);
+ }
+ public class PackagePartCollection : IEnumerable, IEnumerable<PackagePart> {
+ public IEnumerator<PackagePart> GetEnumerator();
+ IEnumerator<PackagePart> System.Collections.Generic.IEnumerable<System.IO.Packaging.PackagePart>.GetEnumerator();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public abstract class PackageProperties : IDisposable {
+ protected PackageProperties();
+ public abstract string Category { get; set; }
+ public abstract string ContentStatus { get; set; }
+ public abstract string ContentType { get; set; }
+ public abstract Nullable<DateTime> Created { get; set; }
+ public abstract string Creator { get; set; }
+ public abstract string Description { get; set; }
+ public abstract string Identifier { get; set; }
+ public abstract string Keywords { get; set; }
+ public abstract string Language { get; set; }
+ public abstract string LastModifiedBy { get; set; }
+ public abstract Nullable<DateTime> LastPrinted { get; set; }
+ public abstract Nullable<DateTime> Modified { get; set; }
+ public abstract string Revision { get; set; }
+ public abstract string Subject { get; set; }
+ public abstract string Title { get; set; }
+ public abstract string Version { get; set; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ }
+ public class PackageRelationship {
+ public string Id { get; }
+ public Package Package { get; }
+ public string RelationshipType { get; }
+ public Uri SourceUri { get; }
+ public TargetMode TargetMode { get; }
+ public Uri TargetUri { get; }
+ }
+ public class PackageRelationshipCollection : IEnumerable, IEnumerable<PackageRelationship> {
+ public IEnumerator<PackageRelationship> GetEnumerator();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class PackageRelationshipSelector {
+ public PackageRelationshipSelector(Uri sourceUri, PackageRelationshipSelectorType selectorType, string selectionCriteria);
+ public string SelectionCriteria { get; }
+ public PackageRelationshipSelectorType SelectorType { get; }
+ public Uri SourceUri { get; }
+ public List<PackageRelationship> Select(Package package);
+ }
+ public enum PackageRelationshipSelectorType {
+ Id = 0,
+ Type = 1,
+ }
+ public static class PackUriHelper {
+ public static readonly string UriSchemePack;
+ public static int ComparePartUri(Uri firstPartUri, Uri secondPartUri);
+ public static Uri CreatePartUri(Uri partUri);
+ public static Uri GetNormalizedPartUri(Uri partUri);
+ public static Uri GetRelationshipPartUri(Uri partUri);
+ public static Uri GetRelativeUri(Uri sourcePartUri, Uri targetPartUri);
+ public static Uri GetSourcePartUriFromRelationshipPartUri(Uri relationshipPartUri);
+ public static bool IsRelationshipPartUri(Uri partUri);
+ public static Uri ResolvePartUri(Uri sourcePartUri, Uri targetUri);
+ }
+ public enum TargetMode {
+ External = 1,
+ Internal = 0,
+ }
+ public sealed class ZipPackage : Package {
+ protected override PackagePart CreatePartCore(Uri partUri, string contentType, CompressionOption compressionOption);
+ protected override void DeletePartCore(Uri partUri);
+ protected override void Dispose(bool disposing);
+ protected override void FlushCore();
+ protected override PackagePart GetPartCore(Uri partUri);
+ protected override PackagePart[] GetPartsCore();
+ }
+ public sealed class ZipPackagePart : PackagePart {
+ protected override Stream GetStreamCore(FileMode streamFileMode, FileAccess streamFileAccess);
+ }
+}
```

View File

@@ -1,102 +1,102 @@
# System.IO.Pipes
``` diff
+namespace System.IO.Pipes {
+ public sealed class AnonymousPipeClientStream : PipeStream {
+ public AnonymousPipeClientStream(PipeDirection direction, SafePipeHandle safePipeHandle);
+ public AnonymousPipeClientStream(PipeDirection direction, string pipeHandleAsString);
+ public AnonymousPipeClientStream(string pipeHandleAsString);
+ public override PipeTransmissionMode ReadMode { set; }
+ public override PipeTransmissionMode TransmissionMode { get; }
+ ~AnonymousPipeClientStream();
+ }
+ public sealed class AnonymousPipeServerStream : PipeStream {
+ public AnonymousPipeServerStream();
+ public AnonymousPipeServerStream(PipeDirection direction);
+ public AnonymousPipeServerStream(PipeDirection direction, SafePipeHandle serverSafePipeHandle, SafePipeHandle clientSafePipeHandle);
+ public AnonymousPipeServerStream(PipeDirection direction, HandleInheritability inheritability);
+ public AnonymousPipeServerStream(PipeDirection direction, HandleInheritability inheritability, int bufferSize);
+ public SafePipeHandle ClientSafePipeHandle { get; }
+ public override PipeTransmissionMode ReadMode { set; }
+ public override PipeTransmissionMode TransmissionMode { get; }
+ protected override void Dispose(bool disposing);
+ public void DisposeLocalCopyOfClientHandle();
+ ~AnonymousPipeServerStream();
+ public string GetClientHandleAsString();
+ }
+ public sealed class NamedPipeClientStream : PipeStream {
+ public NamedPipeClientStream(PipeDirection direction, bool isAsync, bool isConnected, SafePipeHandle safePipeHandle);
+ public NamedPipeClientStream(string pipeName);
+ public NamedPipeClientStream(string serverName, string pipeName);
+ public NamedPipeClientStream(string serverName, string pipeName, PipeDirection direction);
+ public NamedPipeClientStream(string serverName, string pipeName, PipeDirection direction, PipeOptions options);
+ public NamedPipeClientStream(string serverName, string pipeName, PipeDirection direction, PipeOptions options, TokenImpersonationLevel impersonationLevel);
+ public int NumberOfServerInstances { get; }
+ public void Connect();
+ public void Connect(int timeout);
+ public Task ConnectAsync();
+ public Task ConnectAsync(int timeout);
+ public Task ConnectAsync(int timeout, CancellationToken cancellationToken);
+ public Task ConnectAsync(CancellationToken cancellationToken);
+ ~NamedPipeClientStream();
+ }
+ public sealed class NamedPipeServerStream : PipeStream {
+ public NamedPipeServerStream(PipeDirection direction, bool isAsync, bool isConnected, SafePipeHandle safePipeHandle);
+ public NamedPipeServerStream(string pipeName);
+ public NamedPipeServerStream(string pipeName, PipeDirection direction);
+ public NamedPipeServerStream(string pipeName, PipeDirection direction, int maxNumberOfServerInstances);
+ public NamedPipeServerStream(string pipeName, PipeDirection direction, int maxNumberOfServerInstances, PipeTransmissionMode transmissionMode);
+ public NamedPipeServerStream(string pipeName, PipeDirection direction, int maxNumberOfServerInstances, PipeTransmissionMode transmissionMode, PipeOptions options);
+ public NamedPipeServerStream(string pipeName, PipeDirection direction, int maxNumberOfServerInstances, PipeTransmissionMode transmissionMode, PipeOptions options, int inBufferSize, int outBufferSize);
+ public void Disconnect();
+ ~NamedPipeServerStream();
+ public string GetImpersonationUserName();
+ public void WaitForConnection();
+ public Task WaitForConnectionAsync();
+ public Task WaitForConnectionAsync(CancellationToken cancellationToken);
+ }
+ public enum PipeDirection {
+ In = 1,
+ InOut = 3,
+ Out = 2,
+ }
+ public enum PipeOptions {
+ Asynchronous = 1073741824,
+ None = 0,
+ WriteThrough = -2147483648,
+ }
+ public abstract class PipeStream : Stream {
+ protected PipeStream(PipeDirection direction, int bufferSize);
+ protected PipeStream(PipeDirection direction, PipeTransmissionMode transmissionMode, int outBufferSize);
+ public override bool CanRead { get; }
+ public override bool CanSeek { get; }
+ public override bool CanWrite { get; }
+ public virtual int InBufferSize { get; }
+ public bool IsAsync { get; }
+ public bool IsConnected { get; protected set; }
+ public bool IsMessageComplete { get; }
+ public override long Length { get; }
+ public virtual int OutBufferSize { get; }
+ public override long Position { get; set; }
+ public virtual PipeTransmissionMode ReadMode { get; set; }
+ public SafePipeHandle SafePipeHandle { get; }
+ public virtual PipeTransmissionMode TransmissionMode { get; }
+ protected override void Dispose(bool disposing);
+ public override void Flush();
+ public override int Read(byte[] buffer, int offset, int count);
+ public override Task<int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken);
+ public override int ReadByte();
+ public override long Seek(long offset, SeekOrigin origin);
+ public override void SetLength(long value);
+ public void WaitForPipeDrain();
+ public override void Write(byte[] buffer, int offset, int count);
+ public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken);
+ public override void WriteByte(byte value);
+ }
+ public enum PipeTransmissionMode {
+ Byte = 0,
+ Message = 1,
+ }
+}
```
# System.IO.Pipes
``` diff
+namespace System.IO.Pipes {
+ public sealed class AnonymousPipeClientStream : PipeStream {
+ public AnonymousPipeClientStream(PipeDirection direction, SafePipeHandle safePipeHandle);
+ public AnonymousPipeClientStream(PipeDirection direction, string pipeHandleAsString);
+ public AnonymousPipeClientStream(string pipeHandleAsString);
+ public override PipeTransmissionMode ReadMode { set; }
+ public override PipeTransmissionMode TransmissionMode { get; }
+ ~AnonymousPipeClientStream();
+ }
+ public sealed class AnonymousPipeServerStream : PipeStream {
+ public AnonymousPipeServerStream();
+ public AnonymousPipeServerStream(PipeDirection direction);
+ public AnonymousPipeServerStream(PipeDirection direction, SafePipeHandle serverSafePipeHandle, SafePipeHandle clientSafePipeHandle);
+ public AnonymousPipeServerStream(PipeDirection direction, HandleInheritability inheritability);
+ public AnonymousPipeServerStream(PipeDirection direction, HandleInheritability inheritability, int bufferSize);
+ public SafePipeHandle ClientSafePipeHandle { get; }
+ public override PipeTransmissionMode ReadMode { set; }
+ public override PipeTransmissionMode TransmissionMode { get; }
+ protected override void Dispose(bool disposing);
+ public void DisposeLocalCopyOfClientHandle();
+ ~AnonymousPipeServerStream();
+ public string GetClientHandleAsString();
+ }
+ public sealed class NamedPipeClientStream : PipeStream {
+ public NamedPipeClientStream(PipeDirection direction, bool isAsync, bool isConnected, SafePipeHandle safePipeHandle);
+ public NamedPipeClientStream(string pipeName);
+ public NamedPipeClientStream(string serverName, string pipeName);
+ public NamedPipeClientStream(string serverName, string pipeName, PipeDirection direction);
+ public NamedPipeClientStream(string serverName, string pipeName, PipeDirection direction, PipeOptions options);
+ public NamedPipeClientStream(string serverName, string pipeName, PipeDirection direction, PipeOptions options, TokenImpersonationLevel impersonationLevel);
+ public int NumberOfServerInstances { get; }
+ public void Connect();
+ public void Connect(int timeout);
+ public Task ConnectAsync();
+ public Task ConnectAsync(int timeout);
+ public Task ConnectAsync(int timeout, CancellationToken cancellationToken);
+ public Task ConnectAsync(CancellationToken cancellationToken);
+ ~NamedPipeClientStream();
+ }
+ public sealed class NamedPipeServerStream : PipeStream {
+ public NamedPipeServerStream(PipeDirection direction, bool isAsync, bool isConnected, SafePipeHandle safePipeHandle);
+ public NamedPipeServerStream(string pipeName);
+ public NamedPipeServerStream(string pipeName, PipeDirection direction);
+ public NamedPipeServerStream(string pipeName, PipeDirection direction, int maxNumberOfServerInstances);
+ public NamedPipeServerStream(string pipeName, PipeDirection direction, int maxNumberOfServerInstances, PipeTransmissionMode transmissionMode);
+ public NamedPipeServerStream(string pipeName, PipeDirection direction, int maxNumberOfServerInstances, PipeTransmissionMode transmissionMode, PipeOptions options);
+ public NamedPipeServerStream(string pipeName, PipeDirection direction, int maxNumberOfServerInstances, PipeTransmissionMode transmissionMode, PipeOptions options, int inBufferSize, int outBufferSize);
+ public void Disconnect();
+ ~NamedPipeServerStream();
+ public string GetImpersonationUserName();
+ public void WaitForConnection();
+ public Task WaitForConnectionAsync();
+ public Task WaitForConnectionAsync(CancellationToken cancellationToken);
+ }
+ public enum PipeDirection {
+ In = 1,
+ InOut = 3,
+ Out = 2,
+ }
+ public enum PipeOptions {
+ Asynchronous = 1073741824,
+ None = 0,
+ WriteThrough = -2147483648,
+ }
+ public abstract class PipeStream : Stream {
+ protected PipeStream(PipeDirection direction, int bufferSize);
+ protected PipeStream(PipeDirection direction, PipeTransmissionMode transmissionMode, int outBufferSize);
+ public override bool CanRead { get; }
+ public override bool CanSeek { get; }
+ public override bool CanWrite { get; }
+ public virtual int InBufferSize { get; }
+ public bool IsAsync { get; }
+ public bool IsConnected { get; protected set; }
+ public bool IsMessageComplete { get; }
+ public override long Length { get; }
+ public virtual int OutBufferSize { get; }
+ public override long Position { get; set; }
+ public virtual PipeTransmissionMode ReadMode { get; set; }
+ public SafePipeHandle SafePipeHandle { get; }
+ public virtual PipeTransmissionMode TransmissionMode { get; }
+ protected override void Dispose(bool disposing);
+ public override void Flush();
+ public override int Read(byte[] buffer, int offset, int count);
+ public override Task<int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken);
+ public override int ReadByte();
+ public override long Seek(long offset, SeekOrigin origin);
+ public override void SetLength(long value);
+ public void WaitForPipeDrain();
+ public override void Write(byte[] buffer, int offset, int count);
+ public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken);
+ public override void WriteByte(byte value);
+ }
+ public enum PipeTransmissionMode {
+ Byte = 0,
+ Message = 1,
+ }
+}
```

File diff suppressed because it is too large Load Diff

View File

@@ -1,120 +1,120 @@
# System.IdentityModel.Claims
``` diff
+namespace System.IdentityModel.Claims {
+ public class Claim {
+ public Claim(string claimType, object resource, string right);
+ public string ClaimType { get; }
+ public static IEqualityComparer<Claim> DefaultComparer { get; }
+ public object Resource { get; }
+ public string Right { get; }
+ public static Claim System { get; }
+ public static Claim CreateDnsClaim(string dns);
+ public static Claim CreateHashClaim(byte[] hash);
+ public static Claim CreateNameClaim(string name);
+ public static Claim CreateSpnClaim(string spn);
+ public static Claim CreateThumbprintClaim(byte[] thumbprint);
+ public static Claim CreateUpnClaim(string upn);
+ public static Claim CreateUriClaim(Uri uri);
+ public static Claim CreateWindowsSidClaim(SecurityIdentifier sid);
+ public static Claim CreateX500DistinguishedNameClaim(X500DistinguishedName x500DistinguishedName);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public override string ToString();
+ }
+ public abstract class ClaimSet : IEnumerable, IEnumerable<Claim> {
+ protected ClaimSet();
+ public abstract int Count { get; }
+ public abstract ClaimSet Issuer { get; }
+ public static ClaimSet System { get; }
+ public abstract Claim this[int index] { get; }
+ public static ClaimSet Windows { get; }
+ public virtual bool ContainsClaim(Claim claim);
+ public virtual bool ContainsClaim(Claim claim, IEqualityComparer<Claim> comparer);
+ public abstract IEnumerable<Claim> FindClaims(string claimType, string right);
+ public abstract IEnumerator<Claim> GetEnumerator();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public static class ClaimTypes {
+ public static string Anonymous { get; }
+ public static string Authentication { get; }
+ public static string AuthorizationDecision { get; }
+ public static string Country { get; }
+ public static string DateOfBirth { get; }
+ public static string DenyOnlySid { get; }
+ public static string Dns { get; }
+ public static string Email { get; }
+ public static string Gender { get; }
+ public static string GivenName { get; }
+ public static string Hash { get; }
+ public static string HomePhone { get; }
+ public static string Locality { get; }
+ public static string MobilePhone { get; }
+ public static string Name { get; }
+ public static string NameIdentifier { get; }
+ public static string OtherPhone { get; }
+ public static string PostalCode { get; }
+ public static string PPID { get; }
+ public static string Rsa { get; }
+ public static string Sid { get; }
+ public static string Spn { get; }
+ public static string StateOrProvince { get; }
+ public static string StreetAddress { get; }
+ public static string Surname { get; }
+ public static string System { get; }
+ public static string Thumbprint { get; }
+ public static string Upn { get; }
+ public static string Uri { get; }
+ public static string Webpage { get; }
+ public static string X500DistinguishedName { get; }
+ }
+ public class DefaultClaimSet : ClaimSet {
+ public DefaultClaimSet(IList<Claim> claims);
+ public DefaultClaimSet(params Claim[] claims);
+ public DefaultClaimSet(ClaimSet issuer, IList<Claim> claims);
+ public DefaultClaimSet(ClaimSet issuer, params Claim[] claims);
+ public override int Count { get; }
+ public override ClaimSet Issuer { get; }
+ public override Claim this[int index] { get; }
+ public override bool ContainsClaim(Claim claim);
+ public override IEnumerable<Claim> FindClaims(string claimType, string right);
+ public override IEnumerator<Claim> GetEnumerator();
+ protected void Initialize(ClaimSet issuer, IList<Claim> claims);
+ public override string ToString();
+ }
+ public static class Rights {
+ public static string Identity { get; }
+ public static string PossessProperty { get; }
+ }
+ public class WindowsClaimSet : ClaimSet, IDisposable, IIdentityInfo {
+ public WindowsClaimSet(WindowsIdentity windowsIdentity);
+ public WindowsClaimSet(WindowsIdentity windowsIdentity, bool includeWindowsGroups);
+ public WindowsClaimSet(WindowsIdentity windowsIdentity, bool includeWindowsGroups, DateTime expirationTime);
+ public WindowsClaimSet(WindowsIdentity windowsIdentity, DateTime expirationTime);
+ public WindowsClaimSet(WindowsIdentity windowsIdentity, string authenticationType, bool includeWindowsGroups, DateTime expirationTime);
+ public override int Count { get; }
+ public DateTime ExpirationTime { get; }
+ public override ClaimSet Issuer { get; }
+ public override Claim this[int index] { get; }
+ public WindowsIdentity WindowsIdentity { get; }
+ public void Dispose();
+ public override IEnumerable<Claim> FindClaims(string claimType, string right);
+ public override IEnumerator<Claim> GetEnumerator();
+ public override string ToString();
+ public static bool TryCreateWindowsSidClaim(WindowsIdentity windowsIdentity, out Claim claim);
+ }
+ public class X509CertificateClaimSet : ClaimSet, IDisposable, IIdentityInfo {
+ public X509CertificateClaimSet(X509Certificate2 certificate);
+ public override int Count { get; }
+ public DateTime ExpirationTime { get; }
+ public override ClaimSet Issuer { get; }
+ public override Claim this[int index] { get; }
+ public X509Certificate2 X509Certificate { get; }
+ public void Dispose();
+ public override IEnumerable<Claim> FindClaims(string claimType, string right);
+ public override IEnumerator<Claim> GetEnumerator();
+ public override string ToString();
+ }
+}
```
# System.IdentityModel.Claims
``` diff
+namespace System.IdentityModel.Claims {
+ public class Claim {
+ public Claim(string claimType, object resource, string right);
+ public string ClaimType { get; }
+ public static IEqualityComparer<Claim> DefaultComparer { get; }
+ public object Resource { get; }
+ public string Right { get; }
+ public static Claim System { get; }
+ public static Claim CreateDnsClaim(string dns);
+ public static Claim CreateHashClaim(byte[] hash);
+ public static Claim CreateNameClaim(string name);
+ public static Claim CreateSpnClaim(string spn);
+ public static Claim CreateThumbprintClaim(byte[] thumbprint);
+ public static Claim CreateUpnClaim(string upn);
+ public static Claim CreateUriClaim(Uri uri);
+ public static Claim CreateWindowsSidClaim(SecurityIdentifier sid);
+ public static Claim CreateX500DistinguishedNameClaim(X500DistinguishedName x500DistinguishedName);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public override string ToString();
+ }
+ public abstract class ClaimSet : IEnumerable, IEnumerable<Claim> {
+ protected ClaimSet();
+ public abstract int Count { get; }
+ public abstract ClaimSet Issuer { get; }
+ public static ClaimSet System { get; }
+ public abstract Claim this[int index] { get; }
+ public static ClaimSet Windows { get; }
+ public virtual bool ContainsClaim(Claim claim);
+ public virtual bool ContainsClaim(Claim claim, IEqualityComparer<Claim> comparer);
+ public abstract IEnumerable<Claim> FindClaims(string claimType, string right);
+ public abstract IEnumerator<Claim> GetEnumerator();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public static class ClaimTypes {
+ public static string Anonymous { get; }
+ public static string Authentication { get; }
+ public static string AuthorizationDecision { get; }
+ public static string Country { get; }
+ public static string DateOfBirth { get; }
+ public static string DenyOnlySid { get; }
+ public static string Dns { get; }
+ public static string Email { get; }
+ public static string Gender { get; }
+ public static string GivenName { get; }
+ public static string Hash { get; }
+ public static string HomePhone { get; }
+ public static string Locality { get; }
+ public static string MobilePhone { get; }
+ public static string Name { get; }
+ public static string NameIdentifier { get; }
+ public static string OtherPhone { get; }
+ public static string PostalCode { get; }
+ public static string PPID { get; }
+ public static string Rsa { get; }
+ public static string Sid { get; }
+ public static string Spn { get; }
+ public static string StateOrProvince { get; }
+ public static string StreetAddress { get; }
+ public static string Surname { get; }
+ public static string System { get; }
+ public static string Thumbprint { get; }
+ public static string Upn { get; }
+ public static string Uri { get; }
+ public static string Webpage { get; }
+ public static string X500DistinguishedName { get; }
+ }
+ public class DefaultClaimSet : ClaimSet {
+ public DefaultClaimSet(IList<Claim> claims);
+ public DefaultClaimSet(params Claim[] claims);
+ public DefaultClaimSet(ClaimSet issuer, IList<Claim> claims);
+ public DefaultClaimSet(ClaimSet issuer, params Claim[] claims);
+ public override int Count { get; }
+ public override ClaimSet Issuer { get; }
+ public override Claim this[int index] { get; }
+ public override bool ContainsClaim(Claim claim);
+ public override IEnumerable<Claim> FindClaims(string claimType, string right);
+ public override IEnumerator<Claim> GetEnumerator();
+ protected void Initialize(ClaimSet issuer, IList<Claim> claims);
+ public override string ToString();
+ }
+ public static class Rights {
+ public static string Identity { get; }
+ public static string PossessProperty { get; }
+ }
+ public class WindowsClaimSet : ClaimSet, IDisposable, IIdentityInfo {
+ public WindowsClaimSet(WindowsIdentity windowsIdentity);
+ public WindowsClaimSet(WindowsIdentity windowsIdentity, bool includeWindowsGroups);
+ public WindowsClaimSet(WindowsIdentity windowsIdentity, bool includeWindowsGroups, DateTime expirationTime);
+ public WindowsClaimSet(WindowsIdentity windowsIdentity, DateTime expirationTime);
+ public WindowsClaimSet(WindowsIdentity windowsIdentity, string authenticationType, bool includeWindowsGroups, DateTime expirationTime);
+ public override int Count { get; }
+ public DateTime ExpirationTime { get; }
+ public override ClaimSet Issuer { get; }
+ public override Claim this[int index] { get; }
+ public WindowsIdentity WindowsIdentity { get; }
+ public void Dispose();
+ public override IEnumerable<Claim> FindClaims(string claimType, string right);
+ public override IEnumerator<Claim> GetEnumerator();
+ public override string ToString();
+ public static bool TryCreateWindowsSidClaim(WindowsIdentity windowsIdentity, out Claim claim);
+ }
+ public class X509CertificateClaimSet : ClaimSet, IDisposable, IIdentityInfo {
+ public X509CertificateClaimSet(X509Certificate2 certificate);
+ public override int Count { get; }
+ public DateTime ExpirationTime { get; }
+ public override ClaimSet Issuer { get; }
+ public override Claim this[int index] { get; }
+ public X509Certificate2 X509Certificate { get; }
+ public void Dispose();
+ public override IEnumerable<Claim> FindClaims(string claimType, string right);
+ public override IEnumerator<Claim> GetEnumerator();
+ public override string ToString();
+ }
+}
```

View File

@@ -1,30 +1,30 @@
# System.IdentityModel.Policy
``` diff
+namespace System.IdentityModel.Policy {
+ public abstract class AuthorizationContext : IAuthorizationComponent {
+ protected AuthorizationContext();
+ public abstract ReadOnlyCollection<ClaimSet> ClaimSets { get; }
+ public abstract DateTime ExpirationTime { get; }
+ public abstract string Id { get; }
+ public abstract IDictionary<string, object> Properties { get; }
+ public static AuthorizationContext CreateDefaultAuthorizationContext(IList<IAuthorizationPolicy> authorizationPolicies);
+ }
+ public abstract class EvaluationContext {
+ protected EvaluationContext();
+ public abstract ReadOnlyCollection<ClaimSet> ClaimSets { get; }
+ public abstract int Generation { get; }
+ public abstract IDictionary<string, object> Properties { get; }
+ public abstract void AddClaimSet(IAuthorizationPolicy policy, ClaimSet claimSet);
+ public abstract void RecordExpirationTime(DateTime expirationTime);
+ }
+ public interface IAuthorizationComponent {
+ string Id { get; }
+ }
+ public interface IAuthorizationPolicy : IAuthorizationComponent {
+ ClaimSet Issuer { get; }
+ bool Evaluate(EvaluationContext evaluationContext, ref object state);
+ }
+}
```
# System.IdentityModel.Policy
``` diff
+namespace System.IdentityModel.Policy {
+ public abstract class AuthorizationContext : IAuthorizationComponent {
+ protected AuthorizationContext();
+ public abstract ReadOnlyCollection<ClaimSet> ClaimSets { get; }
+ public abstract DateTime ExpirationTime { get; }
+ public abstract string Id { get; }
+ public abstract IDictionary<string, object> Properties { get; }
+ public static AuthorizationContext CreateDefaultAuthorizationContext(IList<IAuthorizationPolicy> authorizationPolicies);
+ }
+ public abstract class EvaluationContext {
+ protected EvaluationContext();
+ public abstract ReadOnlyCollection<ClaimSet> ClaimSets { get; }
+ public abstract int Generation { get; }
+ public abstract IDictionary<string, object> Properties { get; }
+ public abstract void AddClaimSet(IAuthorizationPolicy policy, ClaimSet claimSet);
+ public abstract void RecordExpirationTime(DateTime expirationTime);
+ }
+ public interface IAuthorizationComponent {
+ string Id { get; }
+ }
+ public interface IAuthorizationPolicy : IAuthorizationComponent {
+ ClaimSet Issuer { get; }
+ bool Evaluate(EvaluationContext evaluationContext, ref object state);
+ }
+}
```

View File

@@ -1,122 +1,122 @@
# System.IdentityModel.Selectors
``` diff
+namespace System.IdentityModel.Selectors {
+ public class KerberosSecurityTokenProvider : SecurityTokenProvider {
+ public KerberosSecurityTokenProvider(string servicePrincipalName);
+ public KerberosSecurityTokenProvider(string servicePrincipalName, TokenImpersonationLevel tokenImpersonationLevel);
+ public KerberosSecurityTokenProvider(string servicePrincipalName, TokenImpersonationLevel tokenImpersonationLevel, NetworkCredential networkCredential);
+ public NetworkCredential NetworkCredential { get; }
+ public string ServicePrincipalName { get; }
+ public TokenImpersonationLevel TokenImpersonationLevel { get; }
+ protected override Task<SecurityToken> GetTokenCoreAsync(CancellationToken cancellationToken);
+ }
+ public abstract class SecurityTokenAuthenticator {
+ protected SecurityTokenAuthenticator();
+ public bool CanValidateToken(SecurityToken token);
+ protected abstract bool CanValidateTokenCore(SecurityToken token);
+ public ReadOnlyCollection<IAuthorizationPolicy> ValidateToken(SecurityToken token);
+ protected abstract ReadOnlyCollection<IAuthorizationPolicy> ValidateTokenCore(SecurityToken token);
+ }
+ public abstract class SecurityTokenManager {
+ protected SecurityTokenManager();
+ public abstract SecurityTokenAuthenticator CreateSecurityTokenAuthenticator(SecurityTokenRequirement tokenRequirement, out SecurityTokenResolver outOfBandTokenResolver);
+ public abstract SecurityTokenProvider CreateSecurityTokenProvider(SecurityTokenRequirement tokenRequirement);
+ public abstract SecurityTokenSerializer CreateSecurityTokenSerializer(SecurityTokenVersion version);
+ }
+ public abstract class SecurityTokenProvider {
+ protected SecurityTokenProvider();
+ public virtual bool SupportsTokenCancellation { get; }
+ public virtual bool SupportsTokenRenewal { get; }
+ public Task CancelTokenAsync(CancellationToken cancellationToken, SecurityToken securityToken);
+ protected virtual Task CancelTokenCoreAsync(CancellationToken cancellationToken, SecurityToken token);
+ public Task<SecurityToken> GetTokenAsync(CancellationToken cancellationToken);
+ protected abstract Task<SecurityToken> GetTokenCoreAsync(CancellationToken cancellationToken);
+ public Task<SecurityToken> RenewTokenAsync(CancellationToken cancellationToken, SecurityToken tokenToBeRenewed);
+ protected virtual Task<SecurityToken> RenewTokenCoreAsync(CancellationToken cancellationToken, SecurityToken tokenToBeRenewed);
+ }
+ public class SecurityTokenRequirement {
+ public SecurityTokenRequirement();
+ public static string IsOptionalTokenProperty { get; }
+ public int KeySize { get; set; }
+ public static string KeySizeProperty { get; }
+ public SecurityKeyType KeyType { get; set; }
+ public static string KeyTypeProperty { get; }
+ public SecurityKeyUsage KeyUsage { get; set; }
+ public static string KeyUsageProperty { get; }
+ public static string PeerAuthenticationMode { get; }
+ public IDictionary<string, object> Properties { get; }
+ public bool RequireCryptographicToken { get; set; }
+ public static string RequireCryptographicTokenProperty { get; }
+ public string TokenType { get; set; }
+ public static string TokenTypeProperty { get; }
+ public TValue GetProperty<TValue>(string propertyName);
+ public bool TryGetProperty<TValue>(string propertyName, out TValue result);
+ }
+ public abstract class SecurityTokenResolver {
+ protected SecurityTokenResolver();
+ }
+ public abstract class SecurityTokenSerializer {
+ protected SecurityTokenSerializer();
+ public bool CanReadKeyIdentifier(XmlReader reader);
+ public bool CanReadKeyIdentifierClause(XmlReader reader);
+ protected abstract bool CanReadKeyIdentifierClauseCore(XmlReader reader);
+ protected abstract bool CanReadKeyIdentifierCore(XmlReader reader);
+ public bool CanReadToken(XmlReader reader);
+ protected abstract bool CanReadTokenCore(XmlReader reader);
+ public bool CanWriteKeyIdentifier(SecurityKeyIdentifier keyIdentifier);
+ public bool CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause keyIdentifierClause);
+ protected abstract bool CanWriteKeyIdentifierClauseCore(SecurityKeyIdentifierClause keyIdentifierClause);
+ protected abstract bool CanWriteKeyIdentifierCore(SecurityKeyIdentifier keyIdentifier);
+ public bool CanWriteToken(SecurityToken token);
+ protected abstract bool CanWriteTokenCore(SecurityToken token);
+ public SecurityKeyIdentifier ReadKeyIdentifier(XmlReader reader);
+ public SecurityKeyIdentifierClause ReadKeyIdentifierClause(XmlReader reader);
+ protected abstract SecurityKeyIdentifierClause ReadKeyIdentifierClauseCore(XmlReader reader);
+ protected abstract SecurityKeyIdentifier ReadKeyIdentifierCore(XmlReader reader);
+ public SecurityToken ReadToken(XmlReader reader, SecurityTokenResolver tokenResolver);
+ protected abstract SecurityToken ReadTokenCore(XmlReader reader, SecurityTokenResolver tokenResolver);
+ public void WriteKeyIdentifier(XmlWriter writer, SecurityKeyIdentifier keyIdentifier);
+ public void WriteKeyIdentifierClause(XmlWriter writer, SecurityKeyIdentifierClause keyIdentifierClause);
+ protected abstract void WriteKeyIdentifierClauseCore(XmlWriter writer, SecurityKeyIdentifierClause keyIdentifierClause);
+ protected abstract void WriteKeyIdentifierCore(XmlWriter writer, SecurityKeyIdentifier keyIdentifier);
+ public void WriteToken(XmlWriter writer, SecurityToken token);
+ protected abstract void WriteTokenCore(XmlWriter writer, SecurityToken token);
+ }
+ public abstract class SecurityTokenVersion {
+ protected SecurityTokenVersion();
+ public abstract ReadOnlyCollection<string> GetSecuritySpecifications();
+ }
+ public class UserNameSecurityTokenProvider : SecurityTokenProvider {
+ public UserNameSecurityTokenProvider(string userName, string password);
+ protected override Task<SecurityToken> GetTokenCoreAsync(CancellationToken cancellationToken);
+ }
+ public class WindowsSecurityTokenAuthenticator : SecurityTokenAuthenticator {
+ public WindowsSecurityTokenAuthenticator();
+ public WindowsSecurityTokenAuthenticator(bool includeWindowsGroups);
+ protected override bool CanValidateTokenCore(SecurityToken token);
+ protected override ReadOnlyCollection<IAuthorizationPolicy> ValidateTokenCore(SecurityToken token);
+ }
+ public abstract class X509CertificateValidator {
+ protected X509CertificateValidator();
+ public static X509CertificateValidator ChainTrust { get; }
+ public static X509CertificateValidator None { get; }
+ public static X509CertificateValidator CreateChainTrustValidator(bool useMachineContext, X509ChainPolicy chainPolicy);
+ public abstract void Validate(X509Certificate2 certificate);
+ }
+ public class X509SecurityTokenAuthenticator : SecurityTokenAuthenticator {
+ public X509SecurityTokenAuthenticator();
+ public X509SecurityTokenAuthenticator(X509CertificateValidator validator);
+ public X509SecurityTokenAuthenticator(X509CertificateValidator validator, bool mapToWindows);
+ public X509SecurityTokenAuthenticator(X509CertificateValidator validator, bool mapToWindows, bool includeWindowsGroups);
+ protected override bool CanValidateTokenCore(SecurityToken token);
+ protected override ReadOnlyCollection<IAuthorizationPolicy> ValidateTokenCore(SecurityToken token);
+ }
+ public class X509SecurityTokenProvider : SecurityTokenProvider, IDisposable {
+ public X509SecurityTokenProvider(X509Certificate2 certificate);
+ public void Dispose();
+ protected override Task<SecurityToken> GetTokenCoreAsync(CancellationToken cancellationToken);
+ }
+}
```
# System.IdentityModel.Selectors
``` diff
+namespace System.IdentityModel.Selectors {
+ public class KerberosSecurityTokenProvider : SecurityTokenProvider {
+ public KerberosSecurityTokenProvider(string servicePrincipalName);
+ public KerberosSecurityTokenProvider(string servicePrincipalName, TokenImpersonationLevel tokenImpersonationLevel);
+ public KerberosSecurityTokenProvider(string servicePrincipalName, TokenImpersonationLevel tokenImpersonationLevel, NetworkCredential networkCredential);
+ public NetworkCredential NetworkCredential { get; }
+ public string ServicePrincipalName { get; }
+ public TokenImpersonationLevel TokenImpersonationLevel { get; }
+ protected override Task<SecurityToken> GetTokenCoreAsync(CancellationToken cancellationToken);
+ }
+ public abstract class SecurityTokenAuthenticator {
+ protected SecurityTokenAuthenticator();
+ public bool CanValidateToken(SecurityToken token);
+ protected abstract bool CanValidateTokenCore(SecurityToken token);
+ public ReadOnlyCollection<IAuthorizationPolicy> ValidateToken(SecurityToken token);
+ protected abstract ReadOnlyCollection<IAuthorizationPolicy> ValidateTokenCore(SecurityToken token);
+ }
+ public abstract class SecurityTokenManager {
+ protected SecurityTokenManager();
+ public abstract SecurityTokenAuthenticator CreateSecurityTokenAuthenticator(SecurityTokenRequirement tokenRequirement, out SecurityTokenResolver outOfBandTokenResolver);
+ public abstract SecurityTokenProvider CreateSecurityTokenProvider(SecurityTokenRequirement tokenRequirement);
+ public abstract SecurityTokenSerializer CreateSecurityTokenSerializer(SecurityTokenVersion version);
+ }
+ public abstract class SecurityTokenProvider {
+ protected SecurityTokenProvider();
+ public virtual bool SupportsTokenCancellation { get; }
+ public virtual bool SupportsTokenRenewal { get; }
+ public Task CancelTokenAsync(CancellationToken cancellationToken, SecurityToken securityToken);
+ protected virtual Task CancelTokenCoreAsync(CancellationToken cancellationToken, SecurityToken token);
+ public Task<SecurityToken> GetTokenAsync(CancellationToken cancellationToken);
+ protected abstract Task<SecurityToken> GetTokenCoreAsync(CancellationToken cancellationToken);
+ public Task<SecurityToken> RenewTokenAsync(CancellationToken cancellationToken, SecurityToken tokenToBeRenewed);
+ protected virtual Task<SecurityToken> RenewTokenCoreAsync(CancellationToken cancellationToken, SecurityToken tokenToBeRenewed);
+ }
+ public class SecurityTokenRequirement {
+ public SecurityTokenRequirement();
+ public static string IsOptionalTokenProperty { get; }
+ public int KeySize { get; set; }
+ public static string KeySizeProperty { get; }
+ public SecurityKeyType KeyType { get; set; }
+ public static string KeyTypeProperty { get; }
+ public SecurityKeyUsage KeyUsage { get; set; }
+ public static string KeyUsageProperty { get; }
+ public static string PeerAuthenticationMode { get; }
+ public IDictionary<string, object> Properties { get; }
+ public bool RequireCryptographicToken { get; set; }
+ public static string RequireCryptographicTokenProperty { get; }
+ public string TokenType { get; set; }
+ public static string TokenTypeProperty { get; }
+ public TValue GetProperty<TValue>(string propertyName);
+ public bool TryGetProperty<TValue>(string propertyName, out TValue result);
+ }
+ public abstract class SecurityTokenResolver {
+ protected SecurityTokenResolver();
+ }
+ public abstract class SecurityTokenSerializer {
+ protected SecurityTokenSerializer();
+ public bool CanReadKeyIdentifier(XmlReader reader);
+ public bool CanReadKeyIdentifierClause(XmlReader reader);
+ protected abstract bool CanReadKeyIdentifierClauseCore(XmlReader reader);
+ protected abstract bool CanReadKeyIdentifierCore(XmlReader reader);
+ public bool CanReadToken(XmlReader reader);
+ protected abstract bool CanReadTokenCore(XmlReader reader);
+ public bool CanWriteKeyIdentifier(SecurityKeyIdentifier keyIdentifier);
+ public bool CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause keyIdentifierClause);
+ protected abstract bool CanWriteKeyIdentifierClauseCore(SecurityKeyIdentifierClause keyIdentifierClause);
+ protected abstract bool CanWriteKeyIdentifierCore(SecurityKeyIdentifier keyIdentifier);
+ public bool CanWriteToken(SecurityToken token);
+ protected abstract bool CanWriteTokenCore(SecurityToken token);
+ public SecurityKeyIdentifier ReadKeyIdentifier(XmlReader reader);
+ public SecurityKeyIdentifierClause ReadKeyIdentifierClause(XmlReader reader);
+ protected abstract SecurityKeyIdentifierClause ReadKeyIdentifierClauseCore(XmlReader reader);
+ protected abstract SecurityKeyIdentifier ReadKeyIdentifierCore(XmlReader reader);
+ public SecurityToken ReadToken(XmlReader reader, SecurityTokenResolver tokenResolver);
+ protected abstract SecurityToken ReadTokenCore(XmlReader reader, SecurityTokenResolver tokenResolver);
+ public void WriteKeyIdentifier(XmlWriter writer, SecurityKeyIdentifier keyIdentifier);
+ public void WriteKeyIdentifierClause(XmlWriter writer, SecurityKeyIdentifierClause keyIdentifierClause);
+ protected abstract void WriteKeyIdentifierClauseCore(XmlWriter writer, SecurityKeyIdentifierClause keyIdentifierClause);
+ protected abstract void WriteKeyIdentifierCore(XmlWriter writer, SecurityKeyIdentifier keyIdentifier);
+ public void WriteToken(XmlWriter writer, SecurityToken token);
+ protected abstract void WriteTokenCore(XmlWriter writer, SecurityToken token);
+ }
+ public abstract class SecurityTokenVersion {
+ protected SecurityTokenVersion();
+ public abstract ReadOnlyCollection<string> GetSecuritySpecifications();
+ }
+ public class UserNameSecurityTokenProvider : SecurityTokenProvider {
+ public UserNameSecurityTokenProvider(string userName, string password);
+ protected override Task<SecurityToken> GetTokenCoreAsync(CancellationToken cancellationToken);
+ }
+ public class WindowsSecurityTokenAuthenticator : SecurityTokenAuthenticator {
+ public WindowsSecurityTokenAuthenticator();
+ public WindowsSecurityTokenAuthenticator(bool includeWindowsGroups);
+ protected override bool CanValidateTokenCore(SecurityToken token);
+ protected override ReadOnlyCollection<IAuthorizationPolicy> ValidateTokenCore(SecurityToken token);
+ }
+ public abstract class X509CertificateValidator {
+ protected X509CertificateValidator();
+ public static X509CertificateValidator ChainTrust { get; }
+ public static X509CertificateValidator None { get; }
+ public static X509CertificateValidator CreateChainTrustValidator(bool useMachineContext, X509ChainPolicy chainPolicy);
+ public abstract void Validate(X509Certificate2 certificate);
+ }
+ public class X509SecurityTokenAuthenticator : SecurityTokenAuthenticator {
+ public X509SecurityTokenAuthenticator();
+ public X509SecurityTokenAuthenticator(X509CertificateValidator validator);
+ public X509SecurityTokenAuthenticator(X509CertificateValidator validator, bool mapToWindows);
+ public X509SecurityTokenAuthenticator(X509CertificateValidator validator, bool mapToWindows, bool includeWindowsGroups);
+ protected override bool CanValidateTokenCore(SecurityToken token);
+ protected override ReadOnlyCollection<IAuthorizationPolicy> ValidateTokenCore(SecurityToken token);
+ }
+ public class X509SecurityTokenProvider : SecurityTokenProvider, IDisposable {
+ public X509SecurityTokenProvider(X509Certificate2 certificate);
+ public void Dispose();
+ protected override Task<SecurityToken> GetTokenCoreAsync(CancellationToken cancellationToken);
+ }
+}
```

View File

@@ -1,184 +1,184 @@
# System.IdentityModel.Tokens
``` diff
+namespace System.IdentityModel.Tokens {
+ public abstract class BinaryKeyIdentifierClause : SecurityKeyIdentifierClause {
+ protected BinaryKeyIdentifierClause(string clauseType, byte[] identificationData, bool cloneBuffer);
+ protected BinaryKeyIdentifierClause(string clauseType, byte[] identificationData, bool cloneBuffer, byte[] derivationNonce, int derivationLength);
+ public byte[] GetBuffer();
+ protected byte[] GetRawBuffer();
+ public bool Matches(byte[] data);
+ public bool Matches(byte[] data, int offset);
+ public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause);
+ }
+ public sealed class EncryptedKeyIdentifierClause : BinaryKeyIdentifierClause {
+ public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod);
+ public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier);
+ public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName);
+ public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName, byte[] derivationNonce, int derivationLength);
+ public string CarriedKeyName { get; }
+ public SecurityKeyIdentifier EncryptingKeyIdentifier { get; }
+ public string EncryptionMethod { get; }
+ public byte[] GetEncryptedKey();
+ public bool Matches(byte[] encryptedKey, string encryptionMethod, string carriedKeyName);
+ public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause);
+ public override string ToString();
+ }
+ public class KerberosRequestorSecurityToken : SecurityToken {
+ public override string Id { get; }
+ public override ReadOnlyCollection<SecurityKey> SecurityKeys { get; }
+ public string ServicePrincipalName { get; }
+ public override DateTime ValidFrom { get; }
+ public override DateTime ValidTo { get; }
+ }
+ public class LocalIdKeyIdentifierClause : SecurityKeyIdentifierClause {
+ public LocalIdKeyIdentifierClause(string localId);
+ public LocalIdKeyIdentifierClause(string localId, byte[] derivationNonce, int derivationLength, Type ownerType);
+ public LocalIdKeyIdentifierClause(string localId, Type ownerType);
+ public string LocalId { get; }
+ public Type OwnerType { get; }
+ public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause);
+ public bool Matches(string localId, Type ownerType);
+ public override string ToString();
+ }
+ public class SamlSerializer {
+ public SamlSerializer();
+ }
+ public static class SecurityAlgorithms {
+ public const string Aes128Encryption = "http://www.w3.org/2001/04/xmlenc#aes128-cbc";
+ public const string Aes128KeyWrap = "http://www.w3.org/2001/04/xmlenc#kw-aes128";
+ public const string Aes192Encryption = "http://www.w3.org/2001/04/xmlenc#aes192-cbc";
+ public const string Aes192KeyWrap = "http://www.w3.org/2001/04/xmlenc#kw-aes192";
+ public const string Aes256Encryption = "http://www.w3.org/2001/04/xmlenc#aes256-cbc";
+ public const string Aes256KeyWrap = "http://www.w3.org/2001/04/xmlenc#kw-aes256";
+ public const string DesEncryption = "http://www.w3.org/2001/04/xmlenc#des-cbc";
+ public const string DsaSha1Signature = "http://www.w3.org/2000/09/xmldsig#dsa-sha1";
+ public const string ExclusiveC14n = "http://www.w3.org/2001/10/xml-exc-c14n#";
+ public const string ExclusiveC14nWithComments = "http://www.w3.org/2001/10/xml-exc-c14n#WithComments";
+ public const string HmacSha1Signature = "http://www.w3.org/2000/09/xmldsig#hmac-sha1";
+ public const string HmacSha256Signature = "http://www.w3.org/2001/04/xmldsig-more#hmac-sha256";
+ public const string Psha1KeyDerivation = "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1";
+ public const string Psha1KeyDerivationDec2005 = "http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512/dk/p_sha1";
+ public const string Ripemd160Digest = "http://www.w3.org/2001/04/xmlenc#ripemd160";
+ public const string RsaOaepKeyWrap = "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p";
+ public const string RsaSha1Signature = "http://www.w3.org/2000/09/xmldsig#rsa-sha1";
+ public const string RsaSha256Signature = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256";
+ public const string RsaV15KeyWrap = "http://www.w3.org/2001/04/xmlenc#rsa-1_5";
+ public const string Sha1Digest = "http://www.w3.org/2000/09/xmldsig#sha1";
+ public const string Sha256Digest = "http://www.w3.org/2001/04/xmlenc#sha256";
+ public const string Sha512Digest = "http://www.w3.org/2001/04/xmlenc#sha512";
+ public const string StrTransform = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform";
+ public const string TlsSspiKeyWrap = "http://schemas.xmlsoap.org/2005/02/trust/tlsnego#TLS_Wrap";
+ public const string TripleDesEncryption = "http://www.w3.org/2001/04/xmlenc#tripledes-cbc";
+ public const string TripleDesKeyWrap = "http://www.w3.org/2001/04/xmlenc#kw-tripledes";
+ public const string WindowsSspiKeyWrap = "http://schemas.xmlsoap.org/2005/02/trust/spnego#GSS_Wrap";
+ }
+ public abstract class SecurityKey {
+ protected SecurityKey();
+ public abstract int KeySize { get; }
+ public abstract byte[] DecryptKey(string algorithm, byte[] keyData);
+ public abstract byte[] EncryptKey(string algorithm, byte[] keyData);
+ public abstract bool IsAsymmetricAlgorithm(string algorithm);
+ public abstract bool IsSupportedAlgorithm(string algorithm);
+ public abstract bool IsSymmetricAlgorithm(string algorithm);
+ }
+ public class SecurityKeyIdentifier : IEnumerable, IEnumerable<SecurityKeyIdentifierClause> {
+ public SecurityKeyIdentifier();
+ public SecurityKeyIdentifier(params SecurityKeyIdentifierClause[] clauses);
+ public bool CanCreateKey { get; }
+ public int Count { get; }
+ public bool IsReadOnly { get; }
+ public SecurityKeyIdentifierClause this[int index] { get; }
+ public void Add(SecurityKeyIdentifierClause clause);
+ public SecurityKey CreateKey();
+ public TClause Find<TClause>() where TClause : SecurityKeyIdentifierClause;
+ public IEnumerator<SecurityKeyIdentifierClause> GetEnumerator();
+ public void MakeReadOnly();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public override string ToString();
+ public bool TryFind<TClause>(out TClause clause) where TClause : SecurityKeyIdentifierClause;
+ }
+ public abstract class SecurityKeyIdentifierClause {
+ protected SecurityKeyIdentifierClause(string clauseType);
+ protected SecurityKeyIdentifierClause(string clauseType, byte[] nonce, int length);
+ public virtual bool CanCreateKey { get; }
+ public string ClauseType { get; }
+ public int DerivationLength { get; }
+ public string Id { get; set; }
+ public virtual SecurityKey CreateKey();
+ public byte[] GetDerivationNonce();
+ public virtual bool Matches(SecurityKeyIdentifierClause keyIdentifierClause);
+ }
+ public enum SecurityKeyType {
+ AsymmetricKey = 1,
+ BearerKey = 2,
+ SymmetricKey = 0,
+ }
+ public enum SecurityKeyUsage {
+ Exchange = 0,
+ Signature = 1,
+ }
+ public abstract class SecurityToken {
+ protected SecurityToken();
+ public abstract string Id { get; }
+ public abstract ReadOnlyCollection<SecurityKey> SecurityKeys { get; }
+ public abstract DateTime ValidFrom { get; }
+ public abstract DateTime ValidTo { get; }
+ }
+ public class SecurityTokenException : Exception {
+ public SecurityTokenException();
+ public SecurityTokenException(string message);
+ public SecurityTokenException(string message, Exception innerException);
+ }
+ public static class SecurityTokenTypes {
+ public static string Kerberos { get; }
+ public static string Rsa { get; }
+ public static string Saml { get; }
+ public static string UserName { get; }
+ public static string X509Certificate { get; }
+ }
+ public class SecurityTokenValidationException : SecurityTokenException {
+ public SecurityTokenValidationException();
+ public SecurityTokenValidationException(string message);
+ public SecurityTokenValidationException(string message, Exception innerException);
+ }
+ public class UserNameSecurityToken : SecurityToken {
+ public UserNameSecurityToken(string userName, string password);
+ public UserNameSecurityToken(string userName, string password, string id);
+ public override string Id { get; }
+ public string Password { get; }
+ public override ReadOnlyCollection<SecurityKey> SecurityKeys { get; }
+ public string UserName { get; }
+ public override DateTime ValidFrom { get; }
+ public override DateTime ValidTo { get; }
+ }
+ public class WindowsSecurityToken : SecurityToken, IDisposable {
+ protected WindowsSecurityToken();
+ public WindowsSecurityToken(WindowsIdentity windowsIdentity);
+ public WindowsSecurityToken(WindowsIdentity windowsIdentity, string id);
+ public WindowsSecurityToken(WindowsIdentity windowsIdentity, string id, string authenticationType);
+ public string AuthenticationType { get; }
+ public override string Id { get; }
+ public override ReadOnlyCollection<SecurityKey> SecurityKeys { get; }
+ public override DateTime ValidFrom { get; }
+ public override DateTime ValidTo { get; }
+ public virtual WindowsIdentity WindowsIdentity { get; }
+ public virtual void Dispose();
+ protected void Initialize(string id, DateTime effectiveTime, DateTime expirationTime, WindowsIdentity windowsIdentity, bool clone);
+ protected void Initialize(string id, string authenticationType, DateTime effectiveTime, DateTime expirationTime, WindowsIdentity windowsIdentity, bool clone);
+ protected void ThrowIfDisposed();
+ }
+ public class X509SecurityToken : SecurityToken, IDisposable {
+ public X509SecurityToken(X509Certificate2 certificate);
+ public X509SecurityToken(X509Certificate2 certificate, string id);
+ public X509Certificate2 Certificate { get; }
+ public override string Id { get; }
+ public override ReadOnlyCollection<SecurityKey> SecurityKeys { get; }
+ public override DateTime ValidFrom { get; }
+ public override DateTime ValidTo { get; }
+ public virtual void Dispose();
+ protected void ThrowIfDisposed();
+ }
+}
```
# System.IdentityModel.Tokens
``` diff
+namespace System.IdentityModel.Tokens {
+ public abstract class BinaryKeyIdentifierClause : SecurityKeyIdentifierClause {
+ protected BinaryKeyIdentifierClause(string clauseType, byte[] identificationData, bool cloneBuffer);
+ protected BinaryKeyIdentifierClause(string clauseType, byte[] identificationData, bool cloneBuffer, byte[] derivationNonce, int derivationLength);
+ public byte[] GetBuffer();
+ protected byte[] GetRawBuffer();
+ public bool Matches(byte[] data);
+ public bool Matches(byte[] data, int offset);
+ public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause);
+ }
+ public sealed class EncryptedKeyIdentifierClause : BinaryKeyIdentifierClause {
+ public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod);
+ public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier);
+ public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName);
+ public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName, byte[] derivationNonce, int derivationLength);
+ public string CarriedKeyName { get; }
+ public SecurityKeyIdentifier EncryptingKeyIdentifier { get; }
+ public string EncryptionMethod { get; }
+ public byte[] GetEncryptedKey();
+ public bool Matches(byte[] encryptedKey, string encryptionMethod, string carriedKeyName);
+ public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause);
+ public override string ToString();
+ }
+ public class KerberosRequestorSecurityToken : SecurityToken {
+ public override string Id { get; }
+ public override ReadOnlyCollection<SecurityKey> SecurityKeys { get; }
+ public string ServicePrincipalName { get; }
+ public override DateTime ValidFrom { get; }
+ public override DateTime ValidTo { get; }
+ }
+ public class LocalIdKeyIdentifierClause : SecurityKeyIdentifierClause {
+ public LocalIdKeyIdentifierClause(string localId);
+ public LocalIdKeyIdentifierClause(string localId, byte[] derivationNonce, int derivationLength, Type ownerType);
+ public LocalIdKeyIdentifierClause(string localId, Type ownerType);
+ public string LocalId { get; }
+ public Type OwnerType { get; }
+ public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause);
+ public bool Matches(string localId, Type ownerType);
+ public override string ToString();
+ }
+ public class SamlSerializer {
+ public SamlSerializer();
+ }
+ public static class SecurityAlgorithms {
+ public const string Aes128Encryption = "http://www.w3.org/2001/04/xmlenc#aes128-cbc";
+ public const string Aes128KeyWrap = "http://www.w3.org/2001/04/xmlenc#kw-aes128";
+ public const string Aes192Encryption = "http://www.w3.org/2001/04/xmlenc#aes192-cbc";
+ public const string Aes192KeyWrap = "http://www.w3.org/2001/04/xmlenc#kw-aes192";
+ public const string Aes256Encryption = "http://www.w3.org/2001/04/xmlenc#aes256-cbc";
+ public const string Aes256KeyWrap = "http://www.w3.org/2001/04/xmlenc#kw-aes256";
+ public const string DesEncryption = "http://www.w3.org/2001/04/xmlenc#des-cbc";
+ public const string DsaSha1Signature = "http://www.w3.org/2000/09/xmldsig#dsa-sha1";
+ public const string ExclusiveC14n = "http://www.w3.org/2001/10/xml-exc-c14n#";
+ public const string ExclusiveC14nWithComments = "http://www.w3.org/2001/10/xml-exc-c14n#WithComments";
+ public const string HmacSha1Signature = "http://www.w3.org/2000/09/xmldsig#hmac-sha1";
+ public const string HmacSha256Signature = "http://www.w3.org/2001/04/xmldsig-more#hmac-sha256";
+ public const string Psha1KeyDerivation = "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1";
+ public const string Psha1KeyDerivationDec2005 = "http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512/dk/p_sha1";
+ public const string Ripemd160Digest = "http://www.w3.org/2001/04/xmlenc#ripemd160";
+ public const string RsaOaepKeyWrap = "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p";
+ public const string RsaSha1Signature = "http://www.w3.org/2000/09/xmldsig#rsa-sha1";
+ public const string RsaSha256Signature = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256";
+ public const string RsaV15KeyWrap = "http://www.w3.org/2001/04/xmlenc#rsa-1_5";
+ public const string Sha1Digest = "http://www.w3.org/2000/09/xmldsig#sha1";
+ public const string Sha256Digest = "http://www.w3.org/2001/04/xmlenc#sha256";
+ public const string Sha512Digest = "http://www.w3.org/2001/04/xmlenc#sha512";
+ public const string StrTransform = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform";
+ public const string TlsSspiKeyWrap = "http://schemas.xmlsoap.org/2005/02/trust/tlsnego#TLS_Wrap";
+ public const string TripleDesEncryption = "http://www.w3.org/2001/04/xmlenc#tripledes-cbc";
+ public const string TripleDesKeyWrap = "http://www.w3.org/2001/04/xmlenc#kw-tripledes";
+ public const string WindowsSspiKeyWrap = "http://schemas.xmlsoap.org/2005/02/trust/spnego#GSS_Wrap";
+ }
+ public abstract class SecurityKey {
+ protected SecurityKey();
+ public abstract int KeySize { get; }
+ public abstract byte[] DecryptKey(string algorithm, byte[] keyData);
+ public abstract byte[] EncryptKey(string algorithm, byte[] keyData);
+ public abstract bool IsAsymmetricAlgorithm(string algorithm);
+ public abstract bool IsSupportedAlgorithm(string algorithm);
+ public abstract bool IsSymmetricAlgorithm(string algorithm);
+ }
+ public class SecurityKeyIdentifier : IEnumerable, IEnumerable<SecurityKeyIdentifierClause> {
+ public SecurityKeyIdentifier();
+ public SecurityKeyIdentifier(params SecurityKeyIdentifierClause[] clauses);
+ public bool CanCreateKey { get; }
+ public int Count { get; }
+ public bool IsReadOnly { get; }
+ public SecurityKeyIdentifierClause this[int index] { get; }
+ public void Add(SecurityKeyIdentifierClause clause);
+ public SecurityKey CreateKey();
+ public TClause Find<TClause>() where TClause : SecurityKeyIdentifierClause;
+ public IEnumerator<SecurityKeyIdentifierClause> GetEnumerator();
+ public void MakeReadOnly();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public override string ToString();
+ public bool TryFind<TClause>(out TClause clause) where TClause : SecurityKeyIdentifierClause;
+ }
+ public abstract class SecurityKeyIdentifierClause {
+ protected SecurityKeyIdentifierClause(string clauseType);
+ protected SecurityKeyIdentifierClause(string clauseType, byte[] nonce, int length);
+ public virtual bool CanCreateKey { get; }
+ public string ClauseType { get; }
+ public int DerivationLength { get; }
+ public string Id { get; set; }
+ public virtual SecurityKey CreateKey();
+ public byte[] GetDerivationNonce();
+ public virtual bool Matches(SecurityKeyIdentifierClause keyIdentifierClause);
+ }
+ public enum SecurityKeyType {
+ AsymmetricKey = 1,
+ BearerKey = 2,
+ SymmetricKey = 0,
+ }
+ public enum SecurityKeyUsage {
+ Exchange = 0,
+ Signature = 1,
+ }
+ public abstract class SecurityToken {
+ protected SecurityToken();
+ public abstract string Id { get; }
+ public abstract ReadOnlyCollection<SecurityKey> SecurityKeys { get; }
+ public abstract DateTime ValidFrom { get; }
+ public abstract DateTime ValidTo { get; }
+ }
+ public class SecurityTokenException : Exception {
+ public SecurityTokenException();
+ public SecurityTokenException(string message);
+ public SecurityTokenException(string message, Exception innerException);
+ }
+ public static class SecurityTokenTypes {
+ public static string Kerberos { get; }
+ public static string Rsa { get; }
+ public static string Saml { get; }
+ public static string UserName { get; }
+ public static string X509Certificate { get; }
+ }
+ public class SecurityTokenValidationException : SecurityTokenException {
+ public SecurityTokenValidationException();
+ public SecurityTokenValidationException(string message);
+ public SecurityTokenValidationException(string message, Exception innerException);
+ }
+ public class UserNameSecurityToken : SecurityToken {
+ public UserNameSecurityToken(string userName, string password);
+ public UserNameSecurityToken(string userName, string password, string id);
+ public override string Id { get; }
+ public string Password { get; }
+ public override ReadOnlyCollection<SecurityKey> SecurityKeys { get; }
+ public string UserName { get; }
+ public override DateTime ValidFrom { get; }
+ public override DateTime ValidTo { get; }
+ }
+ public class WindowsSecurityToken : SecurityToken, IDisposable {
+ protected WindowsSecurityToken();
+ public WindowsSecurityToken(WindowsIdentity windowsIdentity);
+ public WindowsSecurityToken(WindowsIdentity windowsIdentity, string id);
+ public WindowsSecurityToken(WindowsIdentity windowsIdentity, string id, string authenticationType);
+ public string AuthenticationType { get; }
+ public override string Id { get; }
+ public override ReadOnlyCollection<SecurityKey> SecurityKeys { get; }
+ public override DateTime ValidFrom { get; }
+ public override DateTime ValidTo { get; }
+ public virtual WindowsIdentity WindowsIdentity { get; }
+ public virtual void Dispose();
+ protected void Initialize(string id, DateTime effectiveTime, DateTime expirationTime, WindowsIdentity windowsIdentity, bool clone);
+ protected void Initialize(string id, string authenticationType, DateTime effectiveTime, DateTime expirationTime, WindowsIdentity windowsIdentity, bool clone);
+ protected void ThrowIfDisposed();
+ }
+ public class X509SecurityToken : SecurityToken, IDisposable {
+ public X509SecurityToken(X509Certificate2 certificate);
+ public X509SecurityToken(X509Certificate2 certificate, string id);
+ public X509Certificate2 Certificate { get; }
+ public override string Id { get; }
+ public override ReadOnlyCollection<SecurityKey> SecurityKeys { get; }
+ public override DateTime ValidFrom { get; }
+ public override DateTime ValidTo { get; }
+ public virtual void Dispose();
+ protected void ThrowIfDisposed();
+ }
+}
```

View File

@@ -1,12 +1,12 @@
# System.IdentityModel
``` diff
+namespace System.IdentityModel {
+ public class SecurityMessageSerializationException : Exception {
+ public SecurityMessageSerializationException();
+ public SecurityMessageSerializationException(string message);
+ public SecurityMessageSerializationException(string message, Exception innerException);
+ }
+}
```
# System.IdentityModel
``` diff
+namespace System.IdentityModel {
+ public class SecurityMessageSerializationException : Exception {
+ public SecurityMessageSerializationException();
+ public SecurityMessageSerializationException(string message);
+ public SecurityMessageSerializationException(string message, Exception innerException);
+ }
+}
```

File diff suppressed because it is too large Load Diff

View File

@@ -1,348 +1,348 @@
# System.Net.Http.Headers
``` diff
+namespace System.Net.Http.Headers {
+ public class AuthenticationHeaderValue {
+ public AuthenticationHeaderValue(string scheme);
+ public AuthenticationHeaderValue(string scheme, string parameter);
+ public string Parameter { get; }
+ public string Scheme { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static AuthenticationHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out AuthenticationHeaderValue parsedValue);
+ }
+ public class CacheControlHeaderValue {
+ public CacheControlHeaderValue();
+ public ICollection<NameValueHeaderValue> Extensions { get; }
+ public Nullable<TimeSpan> MaxAge { get; set; }
+ public bool MaxStale { get; set; }
+ public Nullable<TimeSpan> MaxStaleLimit { get; set; }
+ public Nullable<TimeSpan> MinFresh { get; set; }
+ public bool MustRevalidate { get; set; }
+ public bool NoCache { get; set; }
+ public ICollection<string> NoCacheHeaders { get; }
+ public bool NoStore { get; set; }
+ public bool NoTransform { get; set; }
+ public bool OnlyIfCached { get; set; }
+ public bool Private { get; set; }
+ public ICollection<string> PrivateHeaders { get; }
+ public bool ProxyRevalidate { get; set; }
+ public bool Public { get; set; }
+ public Nullable<TimeSpan> SharedMaxAge { get; set; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static CacheControlHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out CacheControlHeaderValue parsedValue);
+ }
+ public class ContentDispositionHeaderValue {
+ protected ContentDispositionHeaderValue(ContentDispositionHeaderValue source);
+ public ContentDispositionHeaderValue(string dispositionType);
+ public Nullable<DateTimeOffset> CreationDate { get; set; }
+ public string DispositionType { get; set; }
+ public string FileName { get; set; }
+ public string FileNameStar { get; set; }
+ public Nullable<DateTimeOffset> ModificationDate { get; set; }
+ public string Name { get; set; }
+ public ICollection<NameValueHeaderValue> Parameters { get; }
+ public Nullable<DateTimeOffset> ReadDate { get; set; }
+ public Nullable<long> Size { get; set; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static ContentDispositionHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out ContentDispositionHeaderValue parsedValue);
+ }
+ public class ContentRangeHeaderValue {
+ public ContentRangeHeaderValue(long length);
+ public ContentRangeHeaderValue(long from, long to);
+ public ContentRangeHeaderValue(long from, long to, long length);
+ public Nullable<long> From { get; }
+ public bool HasLength { get; }
+ public bool HasRange { get; }
+ public Nullable<long> Length { get; }
+ public Nullable<long> To { get; }
+ public string Unit { get; set; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static ContentRangeHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out ContentRangeHeaderValue parsedValue);
+ }
+ public class EntityTagHeaderValue {
+ public EntityTagHeaderValue(string tag);
+ public EntityTagHeaderValue(string tag, bool isWeak);
+ public static EntityTagHeaderValue Any { get; }
+ public bool IsWeak { get; }
+ public string Tag { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static EntityTagHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out EntityTagHeaderValue parsedValue);
+ }
+ public sealed class HttpContentHeaders : HttpHeaders {
+ public ICollection<string> Allow { get; }
+ public ContentDispositionHeaderValue ContentDisposition { get; set; }
+ public ICollection<string> ContentEncoding { get; }
+ public ICollection<string> ContentLanguage { get; }
+ public Nullable<long> ContentLength { get; set; }
+ public Uri ContentLocation { get; set; }
+ public byte[] ContentMD5 { get; set; }
+ public ContentRangeHeaderValue ContentRange { get; set; }
+ public MediaTypeHeaderValue ContentType { get; set; }
+ public Nullable<DateTimeOffset> Expires { get; set; }
+ public Nullable<DateTimeOffset> LastModified { get; set; }
+ }
+ public abstract class HttpHeaders : IEnumerable, IEnumerable<KeyValuePair<string, IEnumerable<string>>> {
+ protected HttpHeaders();
+ public void Add(string name, IEnumerable<string> values);
+ public void Add(string name, string value);
+ public void Clear();
+ public bool Contains(string name);
+ public IEnumerator<KeyValuePair<string, IEnumerable<string>>> GetEnumerator();
+ public IEnumerable<string> GetValues(string name);
+ public bool Remove(string name);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public override string ToString();
+ public bool TryAddWithoutValidation(string name, IEnumerable<string> values);
+ public bool TryAddWithoutValidation(string name, string value);
+ public bool TryGetValues(string name, out IEnumerable<string> values);
+ }
+ public sealed class HttpHeaderValueCollection<T> : ICollection<T>, IEnumerable, IEnumerable<T> where T : class {
+ public int Count { get; }
+ public bool IsReadOnly { get; }
+ public void Add(T item);
+ public void Clear();
+ public bool Contains(T item);
+ public void CopyTo(T[] array, int arrayIndex);
+ public IEnumerator<T> GetEnumerator();
+ public void ParseAdd(string input);
+ public bool Remove(T item);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public override string ToString();
+ public bool TryParseAdd(string input);
+ }
+ public sealed class HttpRequestHeaders : HttpHeaders {
+ public HttpHeaderValueCollection<MediaTypeWithQualityHeaderValue> Accept { get; }
+ public HttpHeaderValueCollection<StringWithQualityHeaderValue> AcceptCharset { get; }
+ public HttpHeaderValueCollection<StringWithQualityHeaderValue> AcceptEncoding { get; }
+ public HttpHeaderValueCollection<StringWithQualityHeaderValue> AcceptLanguage { get; }
+ public AuthenticationHeaderValue Authorization { get; set; }
+ public CacheControlHeaderValue CacheControl { get; set; }
+ public HttpHeaderValueCollection<string> Connection { get; }
+ public Nullable<bool> ConnectionClose { get; set; }
+ public Nullable<DateTimeOffset> Date { get; set; }
+ public HttpHeaderValueCollection<NameValueWithParametersHeaderValue> Expect { get; }
+ public Nullable<bool> ExpectContinue { get; set; }
+ public string From { get; set; }
+ public string Host { get; set; }
+ public HttpHeaderValueCollection<EntityTagHeaderValue> IfMatch { get; }
+ public Nullable<DateTimeOffset> IfModifiedSince { get; set; }
+ public HttpHeaderValueCollection<EntityTagHeaderValue> IfNoneMatch { get; }
+ public RangeConditionHeaderValue IfRange { get; set; }
+ public Nullable<DateTimeOffset> IfUnmodifiedSince { get; set; }
+ public Nullable<int> MaxForwards { get; set; }
+ public HttpHeaderValueCollection<NameValueHeaderValue> Pragma { get; }
+ public AuthenticationHeaderValue ProxyAuthorization { get; set; }
+ public RangeHeaderValue Range { get; set; }
+ public Uri Referrer { get; set; }
+ public HttpHeaderValueCollection<TransferCodingWithQualityHeaderValue> TE { get; }
+ public HttpHeaderValueCollection<string> Trailer { get; }
+ public HttpHeaderValueCollection<TransferCodingHeaderValue> TransferEncoding { get; }
+ public Nullable<bool> TransferEncodingChunked { get; set; }
+ public HttpHeaderValueCollection<ProductHeaderValue> Upgrade { get; }
+ public HttpHeaderValueCollection<ProductInfoHeaderValue> UserAgent { get; }
+ public HttpHeaderValueCollection<ViaHeaderValue> Via { get; }
+ public HttpHeaderValueCollection<WarningHeaderValue> Warning { get; }
+ }
+ public sealed class HttpResponseHeaders : HttpHeaders {
+ public HttpHeaderValueCollection<string> AcceptRanges { get; }
+ public Nullable<TimeSpan> Age { get; set; }
+ public CacheControlHeaderValue CacheControl { get; set; }
+ public HttpHeaderValueCollection<string> Connection { get; }
+ public Nullable<bool> ConnectionClose { get; set; }
+ public Nullable<DateTimeOffset> Date { get; set; }
+ public EntityTagHeaderValue ETag { get; set; }
+ public Uri Location { get; set; }
+ public HttpHeaderValueCollection<NameValueHeaderValue> Pragma { get; }
+ public HttpHeaderValueCollection<AuthenticationHeaderValue> ProxyAuthenticate { get; }
+ public RetryConditionHeaderValue RetryAfter { get; set; }
+ public HttpHeaderValueCollection<ProductInfoHeaderValue> Server { get; }
+ public HttpHeaderValueCollection<string> Trailer { get; }
+ public HttpHeaderValueCollection<TransferCodingHeaderValue> TransferEncoding { get; }
+ public Nullable<bool> TransferEncodingChunked { get; set; }
+ public HttpHeaderValueCollection<ProductHeaderValue> Upgrade { get; }
+ public HttpHeaderValueCollection<string> Vary { get; }
+ public HttpHeaderValueCollection<ViaHeaderValue> Via { get; }
+ public HttpHeaderValueCollection<WarningHeaderValue> Warning { get; }
+ public HttpHeaderValueCollection<AuthenticationHeaderValue> WwwAuthenticate { get; }
+ }
+ public class MediaTypeHeaderValue {
+ protected MediaTypeHeaderValue(MediaTypeHeaderValue source);
+ public MediaTypeHeaderValue(string mediaType);
+ public string CharSet { get; set; }
+ public string MediaType { get; set; }
+ public ICollection<NameValueHeaderValue> Parameters { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static MediaTypeHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out MediaTypeHeaderValue parsedValue);
+ }
+ public sealed class MediaTypeWithQualityHeaderValue : MediaTypeHeaderValue {
+ public MediaTypeWithQualityHeaderValue(string mediaType);
+ public MediaTypeWithQualityHeaderValue(string mediaType, double quality);
+ public Nullable<double> Quality { get; set; }
+ public static new MediaTypeWithQualityHeaderValue Parse(string input);
+ public static bool TryParse(string input, out MediaTypeWithQualityHeaderValue parsedValue);
+ }
+ public class NameValueHeaderValue {
+ protected NameValueHeaderValue(NameValueHeaderValue source);
+ public NameValueHeaderValue(string name);
+ public NameValueHeaderValue(string name, string value);
+ public string Name { get; }
+ public string Value { get; set; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static NameValueHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out NameValueHeaderValue parsedValue);
+ }
+ public class NameValueWithParametersHeaderValue : NameValueHeaderValue {
+ protected NameValueWithParametersHeaderValue(NameValueWithParametersHeaderValue source);
+ public NameValueWithParametersHeaderValue(string name);
+ public NameValueWithParametersHeaderValue(string name, string value);
+ public ICollection<NameValueHeaderValue> Parameters { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static new NameValueWithParametersHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out NameValueWithParametersHeaderValue parsedValue);
+ }
+ public class ProductHeaderValue {
+ public ProductHeaderValue(string name);
+ public ProductHeaderValue(string name, string version);
+ public string Name { get; }
+ public string Version { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static ProductHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out ProductHeaderValue parsedValue);
+ }
+ public class ProductInfoHeaderValue {
+ public ProductInfoHeaderValue(ProductHeaderValue product);
+ public ProductInfoHeaderValue(string comment);
+ public ProductInfoHeaderValue(string productName, string productVersion);
+ public string Comment { get; }
+ public ProductHeaderValue Product { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static ProductInfoHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out ProductInfoHeaderValue parsedValue);
+ }
+ public class RangeConditionHeaderValue {
+ public RangeConditionHeaderValue(DateTimeOffset date);
+ public RangeConditionHeaderValue(EntityTagHeaderValue entityTag);
+ public RangeConditionHeaderValue(string entityTag);
+ public Nullable<DateTimeOffset> Date { get; }
+ public EntityTagHeaderValue EntityTag { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static RangeConditionHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out RangeConditionHeaderValue parsedValue);
+ }
+ public class RangeHeaderValue {
+ public RangeHeaderValue();
+ public RangeHeaderValue(Nullable<long> from, Nullable<long> to);
+ public ICollection<RangeItemHeaderValue> Ranges { get; }
+ public string Unit { get; set; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static RangeHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out RangeHeaderValue parsedValue);
+ }
+ public class RangeItemHeaderValue {
+ public RangeItemHeaderValue(Nullable<long> from, Nullable<long> to);
+ public Nullable<long> From { get; }
+ public Nullable<long> To { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public override string ToString();
+ }
+ public class RetryConditionHeaderValue {
+ public RetryConditionHeaderValue(DateTimeOffset date);
+ public RetryConditionHeaderValue(TimeSpan delta);
+ public Nullable<DateTimeOffset> Date { get; }
+ public Nullable<TimeSpan> Delta { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static RetryConditionHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out RetryConditionHeaderValue parsedValue);
+ }
+ public class StringWithQualityHeaderValue {
+ public StringWithQualityHeaderValue(string value);
+ public StringWithQualityHeaderValue(string value, double quality);
+ public Nullable<double> Quality { get; }
+ public string Value { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static StringWithQualityHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out StringWithQualityHeaderValue parsedValue);
+ }
+ public class TransferCodingHeaderValue {
+ protected TransferCodingHeaderValue(TransferCodingHeaderValue source);
+ public TransferCodingHeaderValue(string value);
+ public ICollection<NameValueHeaderValue> Parameters { get; }
+ public string Value { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static TransferCodingHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out TransferCodingHeaderValue parsedValue);
+ }
+ public sealed class TransferCodingWithQualityHeaderValue : TransferCodingHeaderValue {
+ public TransferCodingWithQualityHeaderValue(string value);
+ public TransferCodingWithQualityHeaderValue(string value, double quality);
+ public Nullable<double> Quality { get; set; }
+ public static new TransferCodingWithQualityHeaderValue Parse(string input);
+ public static bool TryParse(string input, out TransferCodingWithQualityHeaderValue parsedValue);
+ }
+ public class ViaHeaderValue {
+ public ViaHeaderValue(string protocolVersion, string receivedBy);
+ public ViaHeaderValue(string protocolVersion, string receivedBy, string protocolName);
+ public ViaHeaderValue(string protocolVersion, string receivedBy, string protocolName, string comment);
+ public string Comment { get; }
+ public string ProtocolName { get; }
+ public string ProtocolVersion { get; }
+ public string ReceivedBy { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static ViaHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out ViaHeaderValue parsedValue);
+ }
+ public class WarningHeaderValue {
+ public WarningHeaderValue(int code, string agent, string text);
+ public WarningHeaderValue(int code, string agent, string text, DateTimeOffset date);
+ public string Agent { get; }
+ public int Code { get; }
+ public Nullable<DateTimeOffset> Date { get; }
+ public string Text { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static WarningHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out WarningHeaderValue parsedValue);
+ }
+}
```
# System.Net.Http.Headers
``` diff
+namespace System.Net.Http.Headers {
+ public class AuthenticationHeaderValue {
+ public AuthenticationHeaderValue(string scheme);
+ public AuthenticationHeaderValue(string scheme, string parameter);
+ public string Parameter { get; }
+ public string Scheme { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static AuthenticationHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out AuthenticationHeaderValue parsedValue);
+ }
+ public class CacheControlHeaderValue {
+ public CacheControlHeaderValue();
+ public ICollection<NameValueHeaderValue> Extensions { get; }
+ public Nullable<TimeSpan> MaxAge { get; set; }
+ public bool MaxStale { get; set; }
+ public Nullable<TimeSpan> MaxStaleLimit { get; set; }
+ public Nullable<TimeSpan> MinFresh { get; set; }
+ public bool MustRevalidate { get; set; }
+ public bool NoCache { get; set; }
+ public ICollection<string> NoCacheHeaders { get; }
+ public bool NoStore { get; set; }
+ public bool NoTransform { get; set; }
+ public bool OnlyIfCached { get; set; }
+ public bool Private { get; set; }
+ public ICollection<string> PrivateHeaders { get; }
+ public bool ProxyRevalidate { get; set; }
+ public bool Public { get; set; }
+ public Nullable<TimeSpan> SharedMaxAge { get; set; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static CacheControlHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out CacheControlHeaderValue parsedValue);
+ }
+ public class ContentDispositionHeaderValue {
+ protected ContentDispositionHeaderValue(ContentDispositionHeaderValue source);
+ public ContentDispositionHeaderValue(string dispositionType);
+ public Nullable<DateTimeOffset> CreationDate { get; set; }
+ public string DispositionType { get; set; }
+ public string FileName { get; set; }
+ public string FileNameStar { get; set; }
+ public Nullable<DateTimeOffset> ModificationDate { get; set; }
+ public string Name { get; set; }
+ public ICollection<NameValueHeaderValue> Parameters { get; }
+ public Nullable<DateTimeOffset> ReadDate { get; set; }
+ public Nullable<long> Size { get; set; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static ContentDispositionHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out ContentDispositionHeaderValue parsedValue);
+ }
+ public class ContentRangeHeaderValue {
+ public ContentRangeHeaderValue(long length);
+ public ContentRangeHeaderValue(long from, long to);
+ public ContentRangeHeaderValue(long from, long to, long length);
+ public Nullable<long> From { get; }
+ public bool HasLength { get; }
+ public bool HasRange { get; }
+ public Nullable<long> Length { get; }
+ public Nullable<long> To { get; }
+ public string Unit { get; set; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static ContentRangeHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out ContentRangeHeaderValue parsedValue);
+ }
+ public class EntityTagHeaderValue {
+ public EntityTagHeaderValue(string tag);
+ public EntityTagHeaderValue(string tag, bool isWeak);
+ public static EntityTagHeaderValue Any { get; }
+ public bool IsWeak { get; }
+ public string Tag { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static EntityTagHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out EntityTagHeaderValue parsedValue);
+ }
+ public sealed class HttpContentHeaders : HttpHeaders {
+ public ICollection<string> Allow { get; }
+ public ContentDispositionHeaderValue ContentDisposition { get; set; }
+ public ICollection<string> ContentEncoding { get; }
+ public ICollection<string> ContentLanguage { get; }
+ public Nullable<long> ContentLength { get; set; }
+ public Uri ContentLocation { get; set; }
+ public byte[] ContentMD5 { get; set; }
+ public ContentRangeHeaderValue ContentRange { get; set; }
+ public MediaTypeHeaderValue ContentType { get; set; }
+ public Nullable<DateTimeOffset> Expires { get; set; }
+ public Nullable<DateTimeOffset> LastModified { get; set; }
+ }
+ public abstract class HttpHeaders : IEnumerable, IEnumerable<KeyValuePair<string, IEnumerable<string>>> {
+ protected HttpHeaders();
+ public void Add(string name, IEnumerable<string> values);
+ public void Add(string name, string value);
+ public void Clear();
+ public bool Contains(string name);
+ public IEnumerator<KeyValuePair<string, IEnumerable<string>>> GetEnumerator();
+ public IEnumerable<string> GetValues(string name);
+ public bool Remove(string name);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public override string ToString();
+ public bool TryAddWithoutValidation(string name, IEnumerable<string> values);
+ public bool TryAddWithoutValidation(string name, string value);
+ public bool TryGetValues(string name, out IEnumerable<string> values);
+ }
+ public sealed class HttpHeaderValueCollection<T> : ICollection<T>, IEnumerable, IEnumerable<T> where T : class {
+ public int Count { get; }
+ public bool IsReadOnly { get; }
+ public void Add(T item);
+ public void Clear();
+ public bool Contains(T item);
+ public void CopyTo(T[] array, int arrayIndex);
+ public IEnumerator<T> GetEnumerator();
+ public void ParseAdd(string input);
+ public bool Remove(T item);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public override string ToString();
+ public bool TryParseAdd(string input);
+ }
+ public sealed class HttpRequestHeaders : HttpHeaders {
+ public HttpHeaderValueCollection<MediaTypeWithQualityHeaderValue> Accept { get; }
+ public HttpHeaderValueCollection<StringWithQualityHeaderValue> AcceptCharset { get; }
+ public HttpHeaderValueCollection<StringWithQualityHeaderValue> AcceptEncoding { get; }
+ public HttpHeaderValueCollection<StringWithQualityHeaderValue> AcceptLanguage { get; }
+ public AuthenticationHeaderValue Authorization { get; set; }
+ public CacheControlHeaderValue CacheControl { get; set; }
+ public HttpHeaderValueCollection<string> Connection { get; }
+ public Nullable<bool> ConnectionClose { get; set; }
+ public Nullable<DateTimeOffset> Date { get; set; }
+ public HttpHeaderValueCollection<NameValueWithParametersHeaderValue> Expect { get; }
+ public Nullable<bool> ExpectContinue { get; set; }
+ public string From { get; set; }
+ public string Host { get; set; }
+ public HttpHeaderValueCollection<EntityTagHeaderValue> IfMatch { get; }
+ public Nullable<DateTimeOffset> IfModifiedSince { get; set; }
+ public HttpHeaderValueCollection<EntityTagHeaderValue> IfNoneMatch { get; }
+ public RangeConditionHeaderValue IfRange { get; set; }
+ public Nullable<DateTimeOffset> IfUnmodifiedSince { get; set; }
+ public Nullable<int> MaxForwards { get; set; }
+ public HttpHeaderValueCollection<NameValueHeaderValue> Pragma { get; }
+ public AuthenticationHeaderValue ProxyAuthorization { get; set; }
+ public RangeHeaderValue Range { get; set; }
+ public Uri Referrer { get; set; }
+ public HttpHeaderValueCollection<TransferCodingWithQualityHeaderValue> TE { get; }
+ public HttpHeaderValueCollection<string> Trailer { get; }
+ public HttpHeaderValueCollection<TransferCodingHeaderValue> TransferEncoding { get; }
+ public Nullable<bool> TransferEncodingChunked { get; set; }
+ public HttpHeaderValueCollection<ProductHeaderValue> Upgrade { get; }
+ public HttpHeaderValueCollection<ProductInfoHeaderValue> UserAgent { get; }
+ public HttpHeaderValueCollection<ViaHeaderValue> Via { get; }
+ public HttpHeaderValueCollection<WarningHeaderValue> Warning { get; }
+ }
+ public sealed class HttpResponseHeaders : HttpHeaders {
+ public HttpHeaderValueCollection<string> AcceptRanges { get; }
+ public Nullable<TimeSpan> Age { get; set; }
+ public CacheControlHeaderValue CacheControl { get; set; }
+ public HttpHeaderValueCollection<string> Connection { get; }
+ public Nullable<bool> ConnectionClose { get; set; }
+ public Nullable<DateTimeOffset> Date { get; set; }
+ public EntityTagHeaderValue ETag { get; set; }
+ public Uri Location { get; set; }
+ public HttpHeaderValueCollection<NameValueHeaderValue> Pragma { get; }
+ public HttpHeaderValueCollection<AuthenticationHeaderValue> ProxyAuthenticate { get; }
+ public RetryConditionHeaderValue RetryAfter { get; set; }
+ public HttpHeaderValueCollection<ProductInfoHeaderValue> Server { get; }
+ public HttpHeaderValueCollection<string> Trailer { get; }
+ public HttpHeaderValueCollection<TransferCodingHeaderValue> TransferEncoding { get; }
+ public Nullable<bool> TransferEncodingChunked { get; set; }
+ public HttpHeaderValueCollection<ProductHeaderValue> Upgrade { get; }
+ public HttpHeaderValueCollection<string> Vary { get; }
+ public HttpHeaderValueCollection<ViaHeaderValue> Via { get; }
+ public HttpHeaderValueCollection<WarningHeaderValue> Warning { get; }
+ public HttpHeaderValueCollection<AuthenticationHeaderValue> WwwAuthenticate { get; }
+ }
+ public class MediaTypeHeaderValue {
+ protected MediaTypeHeaderValue(MediaTypeHeaderValue source);
+ public MediaTypeHeaderValue(string mediaType);
+ public string CharSet { get; set; }
+ public string MediaType { get; set; }
+ public ICollection<NameValueHeaderValue> Parameters { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static MediaTypeHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out MediaTypeHeaderValue parsedValue);
+ }
+ public sealed class MediaTypeWithQualityHeaderValue : MediaTypeHeaderValue {
+ public MediaTypeWithQualityHeaderValue(string mediaType);
+ public MediaTypeWithQualityHeaderValue(string mediaType, double quality);
+ public Nullable<double> Quality { get; set; }
+ public static new MediaTypeWithQualityHeaderValue Parse(string input);
+ public static bool TryParse(string input, out MediaTypeWithQualityHeaderValue parsedValue);
+ }
+ public class NameValueHeaderValue {
+ protected NameValueHeaderValue(NameValueHeaderValue source);
+ public NameValueHeaderValue(string name);
+ public NameValueHeaderValue(string name, string value);
+ public string Name { get; }
+ public string Value { get; set; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static NameValueHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out NameValueHeaderValue parsedValue);
+ }
+ public class NameValueWithParametersHeaderValue : NameValueHeaderValue {
+ protected NameValueWithParametersHeaderValue(NameValueWithParametersHeaderValue source);
+ public NameValueWithParametersHeaderValue(string name);
+ public NameValueWithParametersHeaderValue(string name, string value);
+ public ICollection<NameValueHeaderValue> Parameters { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static new NameValueWithParametersHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out NameValueWithParametersHeaderValue parsedValue);
+ }
+ public class ProductHeaderValue {
+ public ProductHeaderValue(string name);
+ public ProductHeaderValue(string name, string version);
+ public string Name { get; }
+ public string Version { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static ProductHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out ProductHeaderValue parsedValue);
+ }
+ public class ProductInfoHeaderValue {
+ public ProductInfoHeaderValue(ProductHeaderValue product);
+ public ProductInfoHeaderValue(string comment);
+ public ProductInfoHeaderValue(string productName, string productVersion);
+ public string Comment { get; }
+ public ProductHeaderValue Product { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static ProductInfoHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out ProductInfoHeaderValue parsedValue);
+ }
+ public class RangeConditionHeaderValue {
+ public RangeConditionHeaderValue(DateTimeOffset date);
+ public RangeConditionHeaderValue(EntityTagHeaderValue entityTag);
+ public RangeConditionHeaderValue(string entityTag);
+ public Nullable<DateTimeOffset> Date { get; }
+ public EntityTagHeaderValue EntityTag { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static RangeConditionHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out RangeConditionHeaderValue parsedValue);
+ }
+ public class RangeHeaderValue {
+ public RangeHeaderValue();
+ public RangeHeaderValue(Nullable<long> from, Nullable<long> to);
+ public ICollection<RangeItemHeaderValue> Ranges { get; }
+ public string Unit { get; set; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static RangeHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out RangeHeaderValue parsedValue);
+ }
+ public class RangeItemHeaderValue {
+ public RangeItemHeaderValue(Nullable<long> from, Nullable<long> to);
+ public Nullable<long> From { get; }
+ public Nullable<long> To { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public override string ToString();
+ }
+ public class RetryConditionHeaderValue {
+ public RetryConditionHeaderValue(DateTimeOffset date);
+ public RetryConditionHeaderValue(TimeSpan delta);
+ public Nullable<DateTimeOffset> Date { get; }
+ public Nullable<TimeSpan> Delta { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static RetryConditionHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out RetryConditionHeaderValue parsedValue);
+ }
+ public class StringWithQualityHeaderValue {
+ public StringWithQualityHeaderValue(string value);
+ public StringWithQualityHeaderValue(string value, double quality);
+ public Nullable<double> Quality { get; }
+ public string Value { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static StringWithQualityHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out StringWithQualityHeaderValue parsedValue);
+ }
+ public class TransferCodingHeaderValue {
+ protected TransferCodingHeaderValue(TransferCodingHeaderValue source);
+ public TransferCodingHeaderValue(string value);
+ public ICollection<NameValueHeaderValue> Parameters { get; }
+ public string Value { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static TransferCodingHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out TransferCodingHeaderValue parsedValue);
+ }
+ public sealed class TransferCodingWithQualityHeaderValue : TransferCodingHeaderValue {
+ public TransferCodingWithQualityHeaderValue(string value);
+ public TransferCodingWithQualityHeaderValue(string value, double quality);
+ public Nullable<double> Quality { get; set; }
+ public static new TransferCodingWithQualityHeaderValue Parse(string input);
+ public static bool TryParse(string input, out TransferCodingWithQualityHeaderValue parsedValue);
+ }
+ public class ViaHeaderValue {
+ public ViaHeaderValue(string protocolVersion, string receivedBy);
+ public ViaHeaderValue(string protocolVersion, string receivedBy, string protocolName);
+ public ViaHeaderValue(string protocolVersion, string receivedBy, string protocolName, string comment);
+ public string Comment { get; }
+ public string ProtocolName { get; }
+ public string ProtocolVersion { get; }
+ public string ReceivedBy { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static ViaHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out ViaHeaderValue parsedValue);
+ }
+ public class WarningHeaderValue {
+ public WarningHeaderValue(int code, string agent, string text);
+ public WarningHeaderValue(int code, string agent, string text, DateTimeOffset date);
+ public string Agent { get; }
+ public int Code { get; }
+ public Nullable<DateTimeOffset> Date { get; }
+ public string Text { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static WarningHeaderValue Parse(string input);
+ public override string ToString();
+ public static bool TryParse(string input, out WarningHeaderValue parsedValue);
+ }
+}
```

View File

@@ -1,257 +1,257 @@
# System.Net.Http
``` diff
+namespace System.Net.Http {
+ public class ByteArrayContent : HttpContent {
+ public ByteArrayContent(byte[] content);
+ public ByteArrayContent(byte[] content, int offset, int count);
+ protected override Task<Stream> CreateContentReadStreamAsync();
+ protected override Task SerializeToStreamAsync(Stream stream, TransportContext context);
+ protected internal override bool TryComputeLength(out long length);
+ }
+ public enum ClientCertificateOption {
+ Automatic = 1,
+ Manual = 0,
+ }
+ public enum CookieUsePolicy {
+ IgnoreCookies = 0,
+ UseInternalCookieStoreOnly = 1,
+ UseSpecifiedCookieContainer = 2,
+ }
+ public abstract class DelegatingHandler : HttpMessageHandler {
+ protected DelegatingHandler();
+ protected DelegatingHandler(HttpMessageHandler innerHandler);
+ public HttpMessageHandler InnerHandler { get; set; }
+ protected override void Dispose(bool disposing);
+ protected internal override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);
+ }
+ public class FormUrlEncodedContent : ByteArrayContent {
+ public FormUrlEncodedContent(IEnumerable<KeyValuePair<string, string>> nameValueCollection);
+ }
+ public class HttpClient : HttpMessageInvoker {
+ public HttpClient();
+ public HttpClient(HttpMessageHandler handler);
+ public HttpClient(HttpMessageHandler handler, bool disposeHandler);
+ public Uri BaseAddress { get; set; }
+ public HttpRequestHeaders DefaultRequestHeaders { get; }
+ public long MaxResponseContentBufferSize { get; set; }
+ public TimeSpan Timeout { get; set; }
+ public void CancelPendingRequests();
+ public Task<HttpResponseMessage> DeleteAsync(string requestUri);
+ public Task<HttpResponseMessage> DeleteAsync(string requestUri, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> DeleteAsync(Uri requestUri);
+ public Task<HttpResponseMessage> DeleteAsync(Uri requestUri, CancellationToken cancellationToken);
+ protected override void Dispose(bool disposing);
+ public Task<HttpResponseMessage> GetAsync(string requestUri);
+ public Task<HttpResponseMessage> GetAsync(string requestUri, HttpCompletionOption completionOption);
+ public Task<HttpResponseMessage> GetAsync(string requestUri, HttpCompletionOption completionOption, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> GetAsync(string requestUri, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> GetAsync(Uri requestUri);
+ public Task<HttpResponseMessage> GetAsync(Uri requestUri, HttpCompletionOption completionOption);
+ public Task<HttpResponseMessage> GetAsync(Uri requestUri, HttpCompletionOption completionOption, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> GetAsync(Uri requestUri, CancellationToken cancellationToken);
+ public Task<byte[]> GetByteArrayAsync(string requestUri);
+ public Task<byte[]> GetByteArrayAsync(Uri requestUri);
+ public Task<Stream> GetStreamAsync(string requestUri);
+ public Task<Stream> GetStreamAsync(Uri requestUri);
+ public Task<string> GetStringAsync(string requestUri);
+ public Task<string> GetStringAsync(Uri requestUri);
+ public Task<HttpResponseMessage> PostAsync(string requestUri, HttpContent content);
+ public Task<HttpResponseMessage> PostAsync(string requestUri, HttpContent content, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> PostAsync(Uri requestUri, HttpContent content);
+ public Task<HttpResponseMessage> PostAsync(Uri requestUri, HttpContent content, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> PutAsync(string requestUri, HttpContent content);
+ public Task<HttpResponseMessage> PutAsync(string requestUri, HttpContent content, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> PutAsync(Uri requestUri, HttpContent content);
+ public Task<HttpResponseMessage> PutAsync(Uri requestUri, HttpContent content, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> SendAsync(HttpRequestMessage request);
+ public Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption);
+ public Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken);
+ public override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);
+ }
+ public class HttpClientHandler : HttpMessageHandler {
+ public HttpClientHandler();
+ public bool AllowAutoRedirect { get; set; }
+ public DecompressionMethods AutomaticDecompression { get; set; }
+ public bool CheckCertificateRevocationList { get; set; }
+ public ClientCertificateOption ClientCertificateOptions { get; set; }
+ public X509CertificateCollection ClientCertificates { get; }
+ public CookieContainer CookieContainer { get; set; }
+ public ICredentials Credentials { get; set; }
+ public ICredentials DefaultProxyCredentials { get; set; }
+ public int MaxAutomaticRedirections { get; set; }
+ public int MaxConnectionsPerServer { get; set; }
+ public long MaxRequestContentBufferSize { get; set; }
+ public int MaxResponseHeadersLength { get; set; }
+ public bool PreAuthenticate { get; set; }
+ public IDictionary<string, object> Properties { get; }
+ public IWebProxy Proxy { get; set; }
+ public Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> ServerCertificateCustomValidationCallback { get; set; }
+ public SslProtocols SslProtocols { get; set; }
+ public virtual bool SupportsAutomaticDecompression { get; }
+ public virtual bool SupportsProxy { get; }
+ public virtual bool SupportsRedirectConfiguration { get; }
+ public bool UseCookies { get; set; }
+ public bool UseDefaultCredentials { get; set; }
+ public bool UseProxy { get; set; }
+ protected override void Dispose(bool disposing);
+ protected internal override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);
+ }
+ public enum HttpCompletionOption {
+ ResponseContentRead = 0,
+ ResponseHeadersRead = 1,
+ }
+ public abstract class HttpContent : IDisposable {
+ protected HttpContent();
+ public HttpContentHeaders Headers { get; }
+ public Task CopyToAsync(Stream stream);
+ public Task CopyToAsync(Stream stream, TransportContext context);
+ protected virtual Task<Stream> CreateContentReadStreamAsync();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public Task LoadIntoBufferAsync();
+ public Task LoadIntoBufferAsync(long maxBufferSize);
+ public Task<byte[]> ReadAsByteArrayAsync();
+ public Task<Stream> ReadAsStreamAsync();
+ public Task<string> ReadAsStringAsync();
+ protected abstract Task SerializeToStreamAsync(Stream stream, TransportContext context);
+ protected internal abstract bool TryComputeLength(out long length);
+ }
+ public abstract class HttpMessageHandler : IDisposable {
+ protected HttpMessageHandler();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ protected internal abstract Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);
+ }
+ public class HttpMessageInvoker : IDisposable {
+ public HttpMessageInvoker(HttpMessageHandler handler);
+ public HttpMessageInvoker(HttpMessageHandler handler, bool disposeHandler);
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public virtual Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);
+ }
+ public class HttpMethod : IEquatable<HttpMethod> {
+ public HttpMethod(string method);
+ public static HttpMethod Delete { get; }
+ public static HttpMethod Get { get; }
+ public static HttpMethod Head { get; }
+ public string Method { get; }
+ public static HttpMethod Options { get; }
+ public static HttpMethod Post { get; }
+ public static HttpMethod Put { get; }
+ public static HttpMethod Trace { get; }
+ public bool Equals(HttpMethod other);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static bool operator ==(HttpMethod left, HttpMethod right);
+ public static bool operator !=(HttpMethod left, HttpMethod right);
+ public override string ToString();
+ }
+ public class HttpRequestException : Exception {
+ public HttpRequestException();
+ public HttpRequestException(string message);
+ public HttpRequestException(string message, Exception inner);
+ }
+ public class HttpRequestMessage : IDisposable {
+ public HttpRequestMessage();
+ public HttpRequestMessage(HttpMethod method, string requestUri);
+ public HttpRequestMessage(HttpMethod method, Uri requestUri);
+ public HttpContent Content { get; set; }
+ public HttpRequestHeaders Headers { get; }
+ public HttpMethod Method { get; set; }
+ public IDictionary<string, object> Properties { get; }
+ public Uri RequestUri { get; set; }
+ public Version Version { get; set; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public override string ToString();
+ }
+ public class HttpResponseMessage : IDisposable {
+ public HttpResponseMessage();
+ public HttpResponseMessage(HttpStatusCode statusCode);
+ public HttpContent Content { get; set; }
+ public HttpResponseHeaders Headers { get; }
+ public bool IsSuccessStatusCode { get; }
+ public string ReasonPhrase { get; set; }
+ public HttpRequestMessage RequestMessage { get; set; }
+ public HttpStatusCode StatusCode { get; set; }
+ public Version Version { get; set; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public HttpResponseMessage EnsureSuccessStatusCode();
+ public override string ToString();
+ }
+ public abstract class MessageProcessingHandler : DelegatingHandler {
+ protected MessageProcessingHandler();
+ protected MessageProcessingHandler(HttpMessageHandler innerHandler);
+ protected abstract HttpRequestMessage ProcessRequest(HttpRequestMessage request, CancellationToken cancellationToken);
+ protected abstract HttpResponseMessage ProcessResponse(HttpResponseMessage response, CancellationToken cancellationToken);
+ protected internal sealed override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);
+ }
+ public class MultipartContent : HttpContent, IEnumerable, IEnumerable<HttpContent> {
+ public MultipartContent();
+ public MultipartContent(string subtype);
+ public MultipartContent(string subtype, string boundary);
+ public virtual void Add(HttpContent content);
+ protected override void Dispose(bool disposing);
+ public IEnumerator<HttpContent> GetEnumerator();
+ protected override Task SerializeToStreamAsync(Stream stream, TransportContext context);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ protected internal override bool TryComputeLength(out long length);
+ }
+ public class MultipartFormDataContent : MultipartContent {
+ public MultipartFormDataContent();
+ public MultipartFormDataContent(string boundary);
+ public override void Add(HttpContent content);
+ public void Add(HttpContent content, string name);
+ public void Add(HttpContent content, string name, string fileName);
+ }
+ public class StreamContent : HttpContent {
+ public StreamContent(Stream content);
+ public StreamContent(Stream content, int bufferSize);
+ protected override Task<Stream> CreateContentReadStreamAsync();
+ protected override void Dispose(bool disposing);
+ protected override Task SerializeToStreamAsync(Stream stream, TransportContext context);
+ protected internal override bool TryComputeLength(out long length);
+ }
+ public class StringContent : ByteArrayContent {
+ public StringContent(string content);
+ public StringContent(string content, Encoding encoding);
+ public StringContent(string content, Encoding encoding, string mediaType);
+ }
+ public enum WindowsProxyUsePolicy {
+ DoNotUseProxy = 0,
+ UseCustomProxy = 3,
+ UseWinHttpProxy = 1,
+ UseWinInetProxy = 2,
+ }
+ public class WinHttpHandler : HttpMessageHandler {
+ public WinHttpHandler();
+ public DecompressionMethods AutomaticDecompression { get; set; }
+ public bool AutomaticRedirection { get; set; }
+ public bool CheckCertificateRevocationList { get; set; }
+ public ClientCertificateOption ClientCertificateOption { get; set; }
+ public X509Certificate2Collection ClientCertificates { get; }
+ public CookieContainer CookieContainer { get; set; }
+ public CookieUsePolicy CookieUsePolicy { get; set; }
+ public ICredentials DefaultProxyCredentials { get; set; }
+ public int MaxAutomaticRedirections { get; set; }
+ public int MaxConnectionsPerServer { get; set; }
+ public int MaxResponseDrainSize { get; set; }
+ public int MaxResponseHeadersLength { get; set; }
+ public bool PreAuthenticate { get; set; }
+ public IDictionary<string, object> Properties { get; }
+ public IWebProxy Proxy { get; set; }
+ public TimeSpan ReceiveDataTimeout { get; set; }
+ public TimeSpan ReceiveHeadersTimeout { get; set; }
+ public TimeSpan SendTimeout { get; set; }
+ public Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> ServerCertificateValidationCallback { get; set; }
+ public ICredentials ServerCredentials { get; set; }
+ public SslProtocols SslProtocols { get; set; }
+ public WindowsProxyUsePolicy WindowsProxyUsePolicy { get; set; }
+ protected override void Dispose(bool disposing);
+ protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);
+ }
+}
```
# System.Net.Http
``` diff
+namespace System.Net.Http {
+ public class ByteArrayContent : HttpContent {
+ public ByteArrayContent(byte[] content);
+ public ByteArrayContent(byte[] content, int offset, int count);
+ protected override Task<Stream> CreateContentReadStreamAsync();
+ protected override Task SerializeToStreamAsync(Stream stream, TransportContext context);
+ protected internal override bool TryComputeLength(out long length);
+ }
+ public enum ClientCertificateOption {
+ Automatic = 1,
+ Manual = 0,
+ }
+ public enum CookieUsePolicy {
+ IgnoreCookies = 0,
+ UseInternalCookieStoreOnly = 1,
+ UseSpecifiedCookieContainer = 2,
+ }
+ public abstract class DelegatingHandler : HttpMessageHandler {
+ protected DelegatingHandler();
+ protected DelegatingHandler(HttpMessageHandler innerHandler);
+ public HttpMessageHandler InnerHandler { get; set; }
+ protected override void Dispose(bool disposing);
+ protected internal override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);
+ }
+ public class FormUrlEncodedContent : ByteArrayContent {
+ public FormUrlEncodedContent(IEnumerable<KeyValuePair<string, string>> nameValueCollection);
+ }
+ public class HttpClient : HttpMessageInvoker {
+ public HttpClient();
+ public HttpClient(HttpMessageHandler handler);
+ public HttpClient(HttpMessageHandler handler, bool disposeHandler);
+ public Uri BaseAddress { get; set; }
+ public HttpRequestHeaders DefaultRequestHeaders { get; }
+ public long MaxResponseContentBufferSize { get; set; }
+ public TimeSpan Timeout { get; set; }
+ public void CancelPendingRequests();
+ public Task<HttpResponseMessage> DeleteAsync(string requestUri);
+ public Task<HttpResponseMessage> DeleteAsync(string requestUri, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> DeleteAsync(Uri requestUri);
+ public Task<HttpResponseMessage> DeleteAsync(Uri requestUri, CancellationToken cancellationToken);
+ protected override void Dispose(bool disposing);
+ public Task<HttpResponseMessage> GetAsync(string requestUri);
+ public Task<HttpResponseMessage> GetAsync(string requestUri, HttpCompletionOption completionOption);
+ public Task<HttpResponseMessage> GetAsync(string requestUri, HttpCompletionOption completionOption, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> GetAsync(string requestUri, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> GetAsync(Uri requestUri);
+ public Task<HttpResponseMessage> GetAsync(Uri requestUri, HttpCompletionOption completionOption);
+ public Task<HttpResponseMessage> GetAsync(Uri requestUri, HttpCompletionOption completionOption, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> GetAsync(Uri requestUri, CancellationToken cancellationToken);
+ public Task<byte[]> GetByteArrayAsync(string requestUri);
+ public Task<byte[]> GetByteArrayAsync(Uri requestUri);
+ public Task<Stream> GetStreamAsync(string requestUri);
+ public Task<Stream> GetStreamAsync(Uri requestUri);
+ public Task<string> GetStringAsync(string requestUri);
+ public Task<string> GetStringAsync(Uri requestUri);
+ public Task<HttpResponseMessage> PostAsync(string requestUri, HttpContent content);
+ public Task<HttpResponseMessage> PostAsync(string requestUri, HttpContent content, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> PostAsync(Uri requestUri, HttpContent content);
+ public Task<HttpResponseMessage> PostAsync(Uri requestUri, HttpContent content, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> PutAsync(string requestUri, HttpContent content);
+ public Task<HttpResponseMessage> PutAsync(string requestUri, HttpContent content, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> PutAsync(Uri requestUri, HttpContent content);
+ public Task<HttpResponseMessage> PutAsync(Uri requestUri, HttpContent content, CancellationToken cancellationToken);
+ public Task<HttpResponseMessage> SendAsync(HttpRequestMessage request);
+ public Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption);
+ public Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken);
+ public override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);
+ }
+ public class HttpClientHandler : HttpMessageHandler {
+ public HttpClientHandler();
+ public bool AllowAutoRedirect { get; set; }
+ public DecompressionMethods AutomaticDecompression { get; set; }
+ public bool CheckCertificateRevocationList { get; set; }
+ public ClientCertificateOption ClientCertificateOptions { get; set; }
+ public X509CertificateCollection ClientCertificates { get; }
+ public CookieContainer CookieContainer { get; set; }
+ public ICredentials Credentials { get; set; }
+ public ICredentials DefaultProxyCredentials { get; set; }
+ public int MaxAutomaticRedirections { get; set; }
+ public int MaxConnectionsPerServer { get; set; }
+ public long MaxRequestContentBufferSize { get; set; }
+ public int MaxResponseHeadersLength { get; set; }
+ public bool PreAuthenticate { get; set; }
+ public IDictionary<string, object> Properties { get; }
+ public IWebProxy Proxy { get; set; }
+ public Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> ServerCertificateCustomValidationCallback { get; set; }
+ public SslProtocols SslProtocols { get; set; }
+ public virtual bool SupportsAutomaticDecompression { get; }
+ public virtual bool SupportsProxy { get; }
+ public virtual bool SupportsRedirectConfiguration { get; }
+ public bool UseCookies { get; set; }
+ public bool UseDefaultCredentials { get; set; }
+ public bool UseProxy { get; set; }
+ protected override void Dispose(bool disposing);
+ protected internal override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);
+ }
+ public enum HttpCompletionOption {
+ ResponseContentRead = 0,
+ ResponseHeadersRead = 1,
+ }
+ public abstract class HttpContent : IDisposable {
+ protected HttpContent();
+ public HttpContentHeaders Headers { get; }
+ public Task CopyToAsync(Stream stream);
+ public Task CopyToAsync(Stream stream, TransportContext context);
+ protected virtual Task<Stream> CreateContentReadStreamAsync();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public Task LoadIntoBufferAsync();
+ public Task LoadIntoBufferAsync(long maxBufferSize);
+ public Task<byte[]> ReadAsByteArrayAsync();
+ public Task<Stream> ReadAsStreamAsync();
+ public Task<string> ReadAsStringAsync();
+ protected abstract Task SerializeToStreamAsync(Stream stream, TransportContext context);
+ protected internal abstract bool TryComputeLength(out long length);
+ }
+ public abstract class HttpMessageHandler : IDisposable {
+ protected HttpMessageHandler();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ protected internal abstract Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);
+ }
+ public class HttpMessageInvoker : IDisposable {
+ public HttpMessageInvoker(HttpMessageHandler handler);
+ public HttpMessageInvoker(HttpMessageHandler handler, bool disposeHandler);
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public virtual Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);
+ }
+ public class HttpMethod : IEquatable<HttpMethod> {
+ public HttpMethod(string method);
+ public static HttpMethod Delete { get; }
+ public static HttpMethod Get { get; }
+ public static HttpMethod Head { get; }
+ public string Method { get; }
+ public static HttpMethod Options { get; }
+ public static HttpMethod Post { get; }
+ public static HttpMethod Put { get; }
+ public static HttpMethod Trace { get; }
+ public bool Equals(HttpMethod other);
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static bool operator ==(HttpMethod left, HttpMethod right);
+ public static bool operator !=(HttpMethod left, HttpMethod right);
+ public override string ToString();
+ }
+ public class HttpRequestException : Exception {
+ public HttpRequestException();
+ public HttpRequestException(string message);
+ public HttpRequestException(string message, Exception inner);
+ }
+ public class HttpRequestMessage : IDisposable {
+ public HttpRequestMessage();
+ public HttpRequestMessage(HttpMethod method, string requestUri);
+ public HttpRequestMessage(HttpMethod method, Uri requestUri);
+ public HttpContent Content { get; set; }
+ public HttpRequestHeaders Headers { get; }
+ public HttpMethod Method { get; set; }
+ public IDictionary<string, object> Properties { get; }
+ public Uri RequestUri { get; set; }
+ public Version Version { get; set; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public override string ToString();
+ }
+ public class HttpResponseMessage : IDisposable {
+ public HttpResponseMessage();
+ public HttpResponseMessage(HttpStatusCode statusCode);
+ public HttpContent Content { get; set; }
+ public HttpResponseHeaders Headers { get; }
+ public bool IsSuccessStatusCode { get; }
+ public string ReasonPhrase { get; set; }
+ public HttpRequestMessage RequestMessage { get; set; }
+ public HttpStatusCode StatusCode { get; set; }
+ public Version Version { get; set; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public HttpResponseMessage EnsureSuccessStatusCode();
+ public override string ToString();
+ }
+ public abstract class MessageProcessingHandler : DelegatingHandler {
+ protected MessageProcessingHandler();
+ protected MessageProcessingHandler(HttpMessageHandler innerHandler);
+ protected abstract HttpRequestMessage ProcessRequest(HttpRequestMessage request, CancellationToken cancellationToken);
+ protected abstract HttpResponseMessage ProcessResponse(HttpResponseMessage response, CancellationToken cancellationToken);
+ protected internal sealed override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);
+ }
+ public class MultipartContent : HttpContent, IEnumerable, IEnumerable<HttpContent> {
+ public MultipartContent();
+ public MultipartContent(string subtype);
+ public MultipartContent(string subtype, string boundary);
+ public virtual void Add(HttpContent content);
+ protected override void Dispose(bool disposing);
+ public IEnumerator<HttpContent> GetEnumerator();
+ protected override Task SerializeToStreamAsync(Stream stream, TransportContext context);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ protected internal override bool TryComputeLength(out long length);
+ }
+ public class MultipartFormDataContent : MultipartContent {
+ public MultipartFormDataContent();
+ public MultipartFormDataContent(string boundary);
+ public override void Add(HttpContent content);
+ public void Add(HttpContent content, string name);
+ public void Add(HttpContent content, string name, string fileName);
+ }
+ public class StreamContent : HttpContent {
+ public StreamContent(Stream content);
+ public StreamContent(Stream content, int bufferSize);
+ protected override Task<Stream> CreateContentReadStreamAsync();
+ protected override void Dispose(bool disposing);
+ protected override Task SerializeToStreamAsync(Stream stream, TransportContext context);
+ protected internal override bool TryComputeLength(out long length);
+ }
+ public class StringContent : ByteArrayContent {
+ public StringContent(string content);
+ public StringContent(string content, Encoding encoding);
+ public StringContent(string content, Encoding encoding, string mediaType);
+ }
+ public enum WindowsProxyUsePolicy {
+ DoNotUseProxy = 0,
+ UseCustomProxy = 3,
+ UseWinHttpProxy = 1,
+ UseWinInetProxy = 2,
+ }
+ public class WinHttpHandler : HttpMessageHandler {
+ public WinHttpHandler();
+ public DecompressionMethods AutomaticDecompression { get; set; }
+ public bool AutomaticRedirection { get; set; }
+ public bool CheckCertificateRevocationList { get; set; }
+ public ClientCertificateOption ClientCertificateOption { get; set; }
+ public X509Certificate2Collection ClientCertificates { get; }
+ public CookieContainer CookieContainer { get; set; }
+ public CookieUsePolicy CookieUsePolicy { get; set; }
+ public ICredentials DefaultProxyCredentials { get; set; }
+ public int MaxAutomaticRedirections { get; set; }
+ public int MaxConnectionsPerServer { get; set; }
+ public int MaxResponseDrainSize { get; set; }
+ public int MaxResponseHeadersLength { get; set; }
+ public bool PreAuthenticate { get; set; }
+ public IDictionary<string, object> Properties { get; }
+ public IWebProxy Proxy { get; set; }
+ public TimeSpan ReceiveDataTimeout { get; set; }
+ public TimeSpan ReceiveHeadersTimeout { get; set; }
+ public TimeSpan SendTimeout { get; set; }
+ public Func<HttpRequestMessage, X509Certificate2, X509Chain, SslPolicyErrors, bool> ServerCertificateValidationCallback { get; set; }
+ public ICredentials ServerCredentials { get; set; }
+ public SslProtocols SslProtocols { get; set; }
+ public WindowsProxyUsePolicy WindowsProxyUsePolicy { get; set; }
+ protected override void Dispose(bool disposing);
+ protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);
+ }
+}
```

View File

@@ -1,478 +1,478 @@
# System.Net.NetworkInformation
``` diff
+namespace System.Net.NetworkInformation {
+ public enum DuplicateAddressDetectionState {
+ Deprecated = 3,
+ Duplicate = 2,
+ Invalid = 0,
+ Preferred = 4,
+ Tentative = 1,
+ }
+ public abstract class GatewayIPAddressInformation {
+ protected GatewayIPAddressInformation();
+ public abstract IPAddress Address { get; }
+ }
+ public class GatewayIPAddressInformationCollection : ICollection<GatewayIPAddressInformation>, IEnumerable, IEnumerable<GatewayIPAddressInformation> {
+ protected internal GatewayIPAddressInformationCollection();
+ public virtual int Count { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual GatewayIPAddressInformation this[int index] { get; }
+ public virtual void Add(GatewayIPAddressInformation address);
+ public virtual void Clear();
+ public virtual bool Contains(GatewayIPAddressInformation address);
+ public virtual void CopyTo(GatewayIPAddressInformation[] array, int offset);
+ public virtual IEnumerator<GatewayIPAddressInformation> GetEnumerator();
+ public virtual bool Remove(GatewayIPAddressInformation address);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public abstract class IcmpV4Statistics {
+ protected IcmpV4Statistics();
+ public abstract long AddressMaskRepliesReceived { get; }
+ public abstract long AddressMaskRepliesSent { get; }
+ public abstract long AddressMaskRequestsReceived { get; }
+ public abstract long AddressMaskRequestsSent { get; }
+ public abstract long DestinationUnreachableMessagesReceived { get; }
+ public abstract long DestinationUnreachableMessagesSent { get; }
+ public abstract long EchoRepliesReceived { get; }
+ public abstract long EchoRepliesSent { get; }
+ public abstract long EchoRequestsReceived { get; }
+ public abstract long EchoRequestsSent { get; }
+ public abstract long ErrorsReceived { get; }
+ public abstract long ErrorsSent { get; }
+ public abstract long MessagesReceived { get; }
+ public abstract long MessagesSent { get; }
+ public abstract long ParameterProblemsReceived { get; }
+ public abstract long ParameterProblemsSent { get; }
+ public abstract long RedirectsReceived { get; }
+ public abstract long RedirectsSent { get; }
+ public abstract long SourceQuenchesReceived { get; }
+ public abstract long SourceQuenchesSent { get; }
+ public abstract long TimeExceededMessagesReceived { get; }
+ public abstract long TimeExceededMessagesSent { get; }
+ public abstract long TimestampRepliesReceived { get; }
+ public abstract long TimestampRepliesSent { get; }
+ public abstract long TimestampRequestsReceived { get; }
+ public abstract long TimestampRequestsSent { get; }
+ }
+ public abstract class IcmpV6Statistics {
+ protected IcmpV6Statistics();
+ public abstract long DestinationUnreachableMessagesReceived { get; }
+ public abstract long DestinationUnreachableMessagesSent { get; }
+ public abstract long EchoRepliesReceived { get; }
+ public abstract long EchoRepliesSent { get; }
+ public abstract long EchoRequestsReceived { get; }
+ public abstract long EchoRequestsSent { get; }
+ public abstract long ErrorsReceived { get; }
+ public abstract long ErrorsSent { get; }
+ public abstract long MembershipQueriesReceived { get; }
+ public abstract long MembershipQueriesSent { get; }
+ public abstract long MembershipReductionsReceived { get; }
+ public abstract long MembershipReductionsSent { get; }
+ public abstract long MembershipReportsReceived { get; }
+ public abstract long MembershipReportsSent { get; }
+ public abstract long MessagesReceived { get; }
+ public abstract long MessagesSent { get; }
+ public abstract long NeighborAdvertisementsReceived { get; }
+ public abstract long NeighborAdvertisementsSent { get; }
+ public abstract long NeighborSolicitsReceived { get; }
+ public abstract long NeighborSolicitsSent { get; }
+ public abstract long PacketTooBigMessagesReceived { get; }
+ public abstract long PacketTooBigMessagesSent { get; }
+ public abstract long ParameterProblemsReceived { get; }
+ public abstract long ParameterProblemsSent { get; }
+ public abstract long RedirectsReceived { get; }
+ public abstract long RedirectsSent { get; }
+ public abstract long RouterAdvertisementsReceived { get; }
+ public abstract long RouterAdvertisementsSent { get; }
+ public abstract long RouterSolicitsReceived { get; }
+ public abstract long RouterSolicitsSent { get; }
+ public abstract long TimeExceededMessagesReceived { get; }
+ public abstract long TimeExceededMessagesSent { get; }
+ }
+ public class IPAddressCollection : ICollection<IPAddress>, IEnumerable, IEnumerable<IPAddress> {
+ protected internal IPAddressCollection();
+ public virtual int Count { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual IPAddress this[int index] { get; }
+ public virtual void Add(IPAddress address);
+ public virtual void Clear();
+ public virtual bool Contains(IPAddress address);
+ public virtual void CopyTo(IPAddress[] array, int offset);
+ public virtual IEnumerator<IPAddress> GetEnumerator();
+ public virtual bool Remove(IPAddress address);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public abstract class IPAddressInformation {
+ protected IPAddressInformation();
+ public abstract IPAddress Address { get; }
+ public abstract bool IsDnsEligible { get; }
+ public abstract bool IsTransient { get; }
+ }
+ public class IPAddressInformationCollection : ICollection<IPAddressInformation>, IEnumerable, IEnumerable<IPAddressInformation> {
+ public virtual int Count { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual IPAddressInformation this[int index] { get; }
+ public virtual void Add(IPAddressInformation address);
+ public virtual void Clear();
+ public virtual bool Contains(IPAddressInformation address);
+ public virtual void CopyTo(IPAddressInformation[] array, int offset);
+ public virtual IEnumerator<IPAddressInformation> GetEnumerator();
+ public virtual bool Remove(IPAddressInformation address);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public abstract class IPGlobalProperties {
+ protected IPGlobalProperties();
+ public abstract string DhcpScopeName { get; }
+ public abstract string DomainName { get; }
+ public abstract string HostName { get; }
+ public abstract bool IsWinsProxy { get; }
+ public abstract NetBiosNodeType NodeType { get; }
+ public abstract TcpConnectionInformation[] GetActiveTcpConnections();
+ public abstract IPEndPoint[] GetActiveTcpListeners();
+ public abstract IPEndPoint[] GetActiveUdpListeners();
+ public abstract IcmpV4Statistics GetIcmpV4Statistics();
+ public abstract IcmpV6Statistics GetIcmpV6Statistics();
+ public static IPGlobalProperties GetIPGlobalProperties();
+ public abstract IPGlobalStatistics GetIPv4GlobalStatistics();
+ public abstract IPGlobalStatistics GetIPv6GlobalStatistics();
+ public abstract TcpStatistics GetTcpIPv4Statistics();
+ public abstract TcpStatistics GetTcpIPv6Statistics();
+ public abstract UdpStatistics GetUdpIPv4Statistics();
+ public abstract UdpStatistics GetUdpIPv6Statistics();
+ public virtual Task<UnicastIPAddressInformationCollection> GetUnicastAddressesAsync();
+ }
+ public abstract class IPGlobalStatistics {
+ protected IPGlobalStatistics();
+ public abstract int DefaultTtl { get; }
+ public abstract bool ForwardingEnabled { get; }
+ public abstract int NumberOfInterfaces { get; }
+ public abstract int NumberOfIPAddresses { get; }
+ public abstract int NumberOfRoutes { get; }
+ public abstract long OutputPacketRequests { get; }
+ public abstract long OutputPacketRoutingDiscards { get; }
+ public abstract long OutputPacketsDiscarded { get; }
+ public abstract long OutputPacketsWithNoRoute { get; }
+ public abstract long PacketFragmentFailures { get; }
+ public abstract long PacketReassembliesRequired { get; }
+ public abstract long PacketReassemblyFailures { get; }
+ public abstract long PacketReassemblyTimeout { get; }
+ public abstract long PacketsFragmented { get; }
+ public abstract long PacketsReassembled { get; }
+ public abstract long ReceivedPackets { get; }
+ public abstract long ReceivedPacketsDelivered { get; }
+ public abstract long ReceivedPacketsDiscarded { get; }
+ public abstract long ReceivedPacketsForwarded { get; }
+ public abstract long ReceivedPacketsWithAddressErrors { get; }
+ public abstract long ReceivedPacketsWithHeadersErrors { get; }
+ public abstract long ReceivedPacketsWithUnknownProtocol { get; }
+ }
+ public abstract class IPInterfaceProperties {
+ protected IPInterfaceProperties();
+ public abstract IPAddressInformationCollection AnycastAddresses { get; }
+ public abstract IPAddressCollection DhcpServerAddresses { get; }
+ public abstract IPAddressCollection DnsAddresses { get; }
+ public abstract string DnsSuffix { get; }
+ public abstract GatewayIPAddressInformationCollection GatewayAddresses { get; }
+ public abstract bool IsDnsEnabled { get; }
+ public abstract bool IsDynamicDnsEnabled { get; }
+ public abstract MulticastIPAddressInformationCollection MulticastAddresses { get; }
+ public abstract UnicastIPAddressInformationCollection UnicastAddresses { get; }
+ public abstract IPAddressCollection WinsServersAddresses { get; }
+ public abstract IPv4InterfaceProperties GetIPv4Properties();
+ public abstract IPv6InterfaceProperties GetIPv6Properties();
+ }
+ public abstract class IPInterfaceStatistics {
+ protected IPInterfaceStatistics();
+ public abstract long BytesReceived { get; }
+ public abstract long BytesSent { get; }
+ public abstract long IncomingPacketsDiscarded { get; }
+ public abstract long IncomingPacketsWithErrors { get; }
+ public abstract long IncomingUnknownProtocolPackets { get; }
+ public abstract long NonUnicastPacketsReceived { get; }
+ public abstract long NonUnicastPacketsSent { get; }
+ public abstract long OutgoingPacketsDiscarded { get; }
+ public abstract long OutgoingPacketsWithErrors { get; }
+ public abstract long OutputQueueLength { get; }
+ public abstract long UnicastPacketsReceived { get; }
+ public abstract long UnicastPacketsSent { get; }
+ }
+ public enum IPStatus {
+ BadDestination = 11018,
+ BadHeader = 11042,
+ BadOption = 11007,
+ BadRoute = 11012,
+ DestinationHostUnreachable = 11003,
+ DestinationNetworkUnreachable = 11002,
+ DestinationPortUnreachable = 11005,
+ DestinationProhibited = 11004,
+ DestinationProtocolUnreachable = 11004,
+ DestinationScopeMismatch = 11045,
+ DestinationUnreachable = 11040,
+ HardwareError = 11008,
+ IcmpError = 11044,
+ NoResources = 11006,
+ PacketTooBig = 11009,
+ ParameterProblem = 11015,
+ SourceQuench = 11016,
+ Success = 0,
+ TimedOut = 11010,
+ TimeExceeded = 11041,
+ TtlExpired = 11013,
+ TtlReassemblyTimeExceeded = 11014,
+ Unknown = -1,
+ UnrecognizedNextHeader = 11043,
+ }
+ public abstract class IPv4InterfaceProperties {
+ protected IPv4InterfaceProperties();
+ public abstract int Index { get; }
+ public abstract bool IsAutomaticPrivateAddressingActive { get; }
+ public abstract bool IsAutomaticPrivateAddressingEnabled { get; }
+ public abstract bool IsDhcpEnabled { get; }
+ public abstract bool IsForwardingEnabled { get; }
+ public abstract int Mtu { get; }
+ public abstract bool UsesWins { get; }
+ }
+ public abstract class IPv6InterfaceProperties {
+ protected IPv6InterfaceProperties();
+ public abstract int Index { get; }
+ public abstract int Mtu { get; }
+ public virtual long GetScopeId(ScopeLevel scopeLevel);
+ }
+ public abstract class MulticastIPAddressInformation : IPAddressInformation {
+ protected MulticastIPAddressInformation();
+ public abstract long AddressPreferredLifetime { get; }
+ public abstract long AddressValidLifetime { get; }
+ public abstract long DhcpLeaseLifetime { get; }
+ public abstract DuplicateAddressDetectionState DuplicateAddressDetectionState { get; }
+ public abstract PrefixOrigin PrefixOrigin { get; }
+ public abstract SuffixOrigin SuffixOrigin { get; }
+ }
+ public class MulticastIPAddressInformationCollection : ICollection<MulticastIPAddressInformation>, IEnumerable, IEnumerable<MulticastIPAddressInformation> {
+ protected internal MulticastIPAddressInformationCollection();
+ public virtual int Count { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual MulticastIPAddressInformation this[int index] { get; }
+ public virtual void Add(MulticastIPAddressInformation address);
+ public virtual void Clear();
+ public virtual bool Contains(MulticastIPAddressInformation address);
+ public virtual void CopyTo(MulticastIPAddressInformation[] array, int offset);
+ public virtual IEnumerator<MulticastIPAddressInformation> GetEnumerator();
+ public virtual bool Remove(MulticastIPAddressInformation address);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public enum NetBiosNodeType {
+ Broadcast = 1,
+ Hybrid = 8,
+ Mixed = 4,
+ Peer2Peer = 2,
+ Unknown = 0,
+ }
+ public delegate void NetworkAddressChangedEventHandler(object sender, EventArgs e);
+ public static class NetworkChange {
+ public static event NetworkAddressChangedEventHandler NetworkAddressChanged;
+ }
+ public class NetworkInformationException : Exception {
+ public NetworkInformationException();
+ public NetworkInformationException(int errorCode);
+ public int ErrorCode { get; }
+ }
+ public abstract class NetworkInterface {
+ protected NetworkInterface();
+ public virtual string Description { get; }
+ public virtual string Id { get; }
+ public static int IPv6LoopbackInterfaceIndex { get; }
+ public virtual bool IsReceiveOnly { get; }
+ public static int LoopbackInterfaceIndex { get; }
+ public virtual string Name { get; }
+ public virtual NetworkInterfaceType NetworkInterfaceType { get; }
+ public virtual OperationalStatus OperationalStatus { get; }
+ public virtual long Speed { get; }
+ public virtual bool SupportsMulticast { get; }
+ public static NetworkInterface[] GetAllNetworkInterfaces();
+ public virtual IPInterfaceProperties GetIPProperties();
+ public virtual IPInterfaceStatistics GetIPStatistics();
+ public static bool GetIsNetworkAvailable();
+ public virtual PhysicalAddress GetPhysicalAddress();
+ public virtual bool Supports(NetworkInterfaceComponent networkInterfaceComponent);
+ }
+ public enum NetworkInterfaceComponent {
+ IPv4 = 0,
+ IPv6 = 1,
+ }
+ public enum NetworkInterfaceType {
+ AsymmetricDsl = 94,
+ Atm = 37,
+ BasicIsdn = 20,
+ Ethernet = 6,
+ Ethernet3Megabit = 26,
+ FastEthernetFx = 69,
+ FastEthernetT = 62,
+ Fddi = 15,
+ GenericModem = 48,
+ GigabitEthernet = 117,
+ HighPerformanceSerialBus = 144,
+ IPOverAtm = 114,
+ Isdn = 63,
+ Loopback = 24,
+ MultiRateSymmetricDsl = 143,
+ Ppp = 23,
+ PrimaryIsdn = 21,
+ RateAdaptDsl = 95,
+ Slip = 28,
+ SymmetricDsl = 96,
+ TokenRing = 9,
+ Tunnel = 131,
+ Unknown = 1,
+ VeryHighSpeedDsl = 97,
+ Wireless80211 = 71,
+ Wman = 237,
+ Wwanpp = 243,
+ Wwanpp2 = 244,
+ }
+ public enum OperationalStatus {
+ Dormant = 5,
+ Down = 2,
+ LowerLayerDown = 7,
+ NotPresent = 6,
+ Testing = 3,
+ Unknown = 4,
+ Up = 1,
+ }
+ public class PhysicalAddress {
+ public static readonly PhysicalAddress None;
+ public PhysicalAddress(byte[] address);
+ public override bool Equals(object comparand);
+ public byte[] GetAddressBytes();
+ public override int GetHashCode();
+ public static PhysicalAddress Parse(string address);
+ public override string ToString();
+ }
+ public class Ping : IDisposable {
+ public Ping();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public Task<PingReply> SendPingAsync(IPAddress address);
+ public Task<PingReply> SendPingAsync(IPAddress address, int timeout);
+ public Task<PingReply> SendPingAsync(IPAddress address, int timeout, byte[] buffer);
+ public Task<PingReply> SendPingAsync(IPAddress address, int timeout, byte[] buffer, PingOptions options);
+ public Task<PingReply> SendPingAsync(string hostNameOrAddress);
+ public Task<PingReply> SendPingAsync(string hostNameOrAddress, int timeout);
+ public Task<PingReply> SendPingAsync(string hostNameOrAddress, int timeout, byte[] buffer);
+ public Task<PingReply> SendPingAsync(string hostNameOrAddress, int timeout, byte[] buffer, PingOptions options);
+ }
+ public class PingException : InvalidOperationException {
+ public PingException(string message);
+ public PingException(string message, Exception innerException);
+ }
+ public class PingOptions {
+ public PingOptions();
+ public PingOptions(int ttl, bool dontFragment);
+ public bool DontFragment { get; set; }
+ public int Ttl { get; set; }
+ }
+ public class PingReply {
+ public IPAddress Address { get; }
+ public byte[] Buffer { get; }
+ public PingOptions Options { get; }
+ public long RoundtripTime { get; }
+ public IPStatus Status { get; }
+ }
+ public enum PrefixOrigin {
+ Dhcp = 3,
+ Manual = 1,
+ Other = 0,
+ RouterAdvertisement = 4,
+ WellKnown = 2,
+ }
+ public enum ScopeLevel {
+ Admin = 4,
+ Global = 14,
+ Interface = 1,
+ Link = 2,
+ None = 0,
+ Organization = 8,
+ Site = 5,
+ Subnet = 3,
+ }
+ public enum SuffixOrigin {
+ LinkLayerAddress = 4,
+ Manual = 1,
+ OriginDhcp = 3,
+ Other = 0,
+ Random = 5,
+ WellKnown = 2,
+ }
+ public abstract class TcpConnectionInformation {
+ protected TcpConnectionInformation();
+ public abstract IPEndPoint LocalEndPoint { get; }
+ public abstract IPEndPoint RemoteEndPoint { get; }
+ public abstract TcpState State { get; }
+ }
+ public enum TcpState {
+ Closed = 1,
+ CloseWait = 8,
+ Closing = 9,
+ DeleteTcb = 12,
+ Established = 5,
+ FinWait1 = 6,
+ FinWait2 = 7,
+ LastAck = 10,
+ Listen = 2,
+ SynReceived = 4,
+ SynSent = 3,
+ TimeWait = 11,
+ Unknown = 0,
+ }
+ public abstract class TcpStatistics {
+ protected TcpStatistics();
+ public abstract long ConnectionsAccepted { get; }
+ public abstract long ConnectionsInitiated { get; }
+ public abstract long CumulativeConnections { get; }
+ public abstract long CurrentConnections { get; }
+ public abstract long ErrorsReceived { get; }
+ public abstract long FailedConnectionAttempts { get; }
+ public abstract long MaximumConnections { get; }
+ public abstract long MaximumTransmissionTimeout { get; }
+ public abstract long MinimumTransmissionTimeout { get; }
+ public abstract long ResetConnections { get; }
+ public abstract long ResetsSent { get; }
+ public abstract long SegmentsReceived { get; }
+ public abstract long SegmentsResent { get; }
+ public abstract long SegmentsSent { get; }
+ }
+ public abstract class UdpStatistics {
+ protected UdpStatistics();
+ public abstract long DatagramsReceived { get; }
+ public abstract long DatagramsSent { get; }
+ public abstract long IncomingDatagramsDiscarded { get; }
+ public abstract long IncomingDatagramsWithErrors { get; }
+ public abstract int UdpListeners { get; }
+ }
+ public abstract class UnicastIPAddressInformation : IPAddressInformation {
+ protected UnicastIPAddressInformation();
+ public abstract long AddressPreferredLifetime { get; }
+ public abstract long AddressValidLifetime { get; }
+ public abstract long DhcpLeaseLifetime { get; }
+ public abstract DuplicateAddressDetectionState DuplicateAddressDetectionState { get; }
+ public abstract IPAddress IPv4Mask { get; }
+ public virtual int PrefixLength { get; }
+ public abstract PrefixOrigin PrefixOrigin { get; }
+ public abstract SuffixOrigin SuffixOrigin { get; }
+ }
+ public class UnicastIPAddressInformationCollection : ICollection<UnicastIPAddressInformation>, IEnumerable, IEnumerable<UnicastIPAddressInformation> {
+ protected internal UnicastIPAddressInformationCollection();
+ public virtual int Count { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual UnicastIPAddressInformation this[int index] { get; }
+ public virtual void Add(UnicastIPAddressInformation address);
+ public virtual void Clear();
+ public virtual bool Contains(UnicastIPAddressInformation address);
+ public virtual void CopyTo(UnicastIPAddressInformation[] array, int offset);
+ public virtual IEnumerator<UnicastIPAddressInformation> GetEnumerator();
+ public virtual bool Remove(UnicastIPAddressInformation address);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+}
```
# System.Net.NetworkInformation
``` diff
+namespace System.Net.NetworkInformation {
+ public enum DuplicateAddressDetectionState {
+ Deprecated = 3,
+ Duplicate = 2,
+ Invalid = 0,
+ Preferred = 4,
+ Tentative = 1,
+ }
+ public abstract class GatewayIPAddressInformation {
+ protected GatewayIPAddressInformation();
+ public abstract IPAddress Address { get; }
+ }
+ public class GatewayIPAddressInformationCollection : ICollection<GatewayIPAddressInformation>, IEnumerable, IEnumerable<GatewayIPAddressInformation> {
+ protected internal GatewayIPAddressInformationCollection();
+ public virtual int Count { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual GatewayIPAddressInformation this[int index] { get; }
+ public virtual void Add(GatewayIPAddressInformation address);
+ public virtual void Clear();
+ public virtual bool Contains(GatewayIPAddressInformation address);
+ public virtual void CopyTo(GatewayIPAddressInformation[] array, int offset);
+ public virtual IEnumerator<GatewayIPAddressInformation> GetEnumerator();
+ public virtual bool Remove(GatewayIPAddressInformation address);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public abstract class IcmpV4Statistics {
+ protected IcmpV4Statistics();
+ public abstract long AddressMaskRepliesReceived { get; }
+ public abstract long AddressMaskRepliesSent { get; }
+ public abstract long AddressMaskRequestsReceived { get; }
+ public abstract long AddressMaskRequestsSent { get; }
+ public abstract long DestinationUnreachableMessagesReceived { get; }
+ public abstract long DestinationUnreachableMessagesSent { get; }
+ public abstract long EchoRepliesReceived { get; }
+ public abstract long EchoRepliesSent { get; }
+ public abstract long EchoRequestsReceived { get; }
+ public abstract long EchoRequestsSent { get; }
+ public abstract long ErrorsReceived { get; }
+ public abstract long ErrorsSent { get; }
+ public abstract long MessagesReceived { get; }
+ public abstract long MessagesSent { get; }
+ public abstract long ParameterProblemsReceived { get; }
+ public abstract long ParameterProblemsSent { get; }
+ public abstract long RedirectsReceived { get; }
+ public abstract long RedirectsSent { get; }
+ public abstract long SourceQuenchesReceived { get; }
+ public abstract long SourceQuenchesSent { get; }
+ public abstract long TimeExceededMessagesReceived { get; }
+ public abstract long TimeExceededMessagesSent { get; }
+ public abstract long TimestampRepliesReceived { get; }
+ public abstract long TimestampRepliesSent { get; }
+ public abstract long TimestampRequestsReceived { get; }
+ public abstract long TimestampRequestsSent { get; }
+ }
+ public abstract class IcmpV6Statistics {
+ protected IcmpV6Statistics();
+ public abstract long DestinationUnreachableMessagesReceived { get; }
+ public abstract long DestinationUnreachableMessagesSent { get; }
+ public abstract long EchoRepliesReceived { get; }
+ public abstract long EchoRepliesSent { get; }
+ public abstract long EchoRequestsReceived { get; }
+ public abstract long EchoRequestsSent { get; }
+ public abstract long ErrorsReceived { get; }
+ public abstract long ErrorsSent { get; }
+ public abstract long MembershipQueriesReceived { get; }
+ public abstract long MembershipQueriesSent { get; }
+ public abstract long MembershipReductionsReceived { get; }
+ public abstract long MembershipReductionsSent { get; }
+ public abstract long MembershipReportsReceived { get; }
+ public abstract long MembershipReportsSent { get; }
+ public abstract long MessagesReceived { get; }
+ public abstract long MessagesSent { get; }
+ public abstract long NeighborAdvertisementsReceived { get; }
+ public abstract long NeighborAdvertisementsSent { get; }
+ public abstract long NeighborSolicitsReceived { get; }
+ public abstract long NeighborSolicitsSent { get; }
+ public abstract long PacketTooBigMessagesReceived { get; }
+ public abstract long PacketTooBigMessagesSent { get; }
+ public abstract long ParameterProblemsReceived { get; }
+ public abstract long ParameterProblemsSent { get; }
+ public abstract long RedirectsReceived { get; }
+ public abstract long RedirectsSent { get; }
+ public abstract long RouterAdvertisementsReceived { get; }
+ public abstract long RouterAdvertisementsSent { get; }
+ public abstract long RouterSolicitsReceived { get; }
+ public abstract long RouterSolicitsSent { get; }
+ public abstract long TimeExceededMessagesReceived { get; }
+ public abstract long TimeExceededMessagesSent { get; }
+ }
+ public class IPAddressCollection : ICollection<IPAddress>, IEnumerable, IEnumerable<IPAddress> {
+ protected internal IPAddressCollection();
+ public virtual int Count { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual IPAddress this[int index] { get; }
+ public virtual void Add(IPAddress address);
+ public virtual void Clear();
+ public virtual bool Contains(IPAddress address);
+ public virtual void CopyTo(IPAddress[] array, int offset);
+ public virtual IEnumerator<IPAddress> GetEnumerator();
+ public virtual bool Remove(IPAddress address);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public abstract class IPAddressInformation {
+ protected IPAddressInformation();
+ public abstract IPAddress Address { get; }
+ public abstract bool IsDnsEligible { get; }
+ public abstract bool IsTransient { get; }
+ }
+ public class IPAddressInformationCollection : ICollection<IPAddressInformation>, IEnumerable, IEnumerable<IPAddressInformation> {
+ public virtual int Count { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual IPAddressInformation this[int index] { get; }
+ public virtual void Add(IPAddressInformation address);
+ public virtual void Clear();
+ public virtual bool Contains(IPAddressInformation address);
+ public virtual void CopyTo(IPAddressInformation[] array, int offset);
+ public virtual IEnumerator<IPAddressInformation> GetEnumerator();
+ public virtual bool Remove(IPAddressInformation address);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public abstract class IPGlobalProperties {
+ protected IPGlobalProperties();
+ public abstract string DhcpScopeName { get; }
+ public abstract string DomainName { get; }
+ public abstract string HostName { get; }
+ public abstract bool IsWinsProxy { get; }
+ public abstract NetBiosNodeType NodeType { get; }
+ public abstract TcpConnectionInformation[] GetActiveTcpConnections();
+ public abstract IPEndPoint[] GetActiveTcpListeners();
+ public abstract IPEndPoint[] GetActiveUdpListeners();
+ public abstract IcmpV4Statistics GetIcmpV4Statistics();
+ public abstract IcmpV6Statistics GetIcmpV6Statistics();
+ public static IPGlobalProperties GetIPGlobalProperties();
+ public abstract IPGlobalStatistics GetIPv4GlobalStatistics();
+ public abstract IPGlobalStatistics GetIPv6GlobalStatistics();
+ public abstract TcpStatistics GetTcpIPv4Statistics();
+ public abstract TcpStatistics GetTcpIPv6Statistics();
+ public abstract UdpStatistics GetUdpIPv4Statistics();
+ public abstract UdpStatistics GetUdpIPv6Statistics();
+ public virtual Task<UnicastIPAddressInformationCollection> GetUnicastAddressesAsync();
+ }
+ public abstract class IPGlobalStatistics {
+ protected IPGlobalStatistics();
+ public abstract int DefaultTtl { get; }
+ public abstract bool ForwardingEnabled { get; }
+ public abstract int NumberOfInterfaces { get; }
+ public abstract int NumberOfIPAddresses { get; }
+ public abstract int NumberOfRoutes { get; }
+ public abstract long OutputPacketRequests { get; }
+ public abstract long OutputPacketRoutingDiscards { get; }
+ public abstract long OutputPacketsDiscarded { get; }
+ public abstract long OutputPacketsWithNoRoute { get; }
+ public abstract long PacketFragmentFailures { get; }
+ public abstract long PacketReassembliesRequired { get; }
+ public abstract long PacketReassemblyFailures { get; }
+ public abstract long PacketReassemblyTimeout { get; }
+ public abstract long PacketsFragmented { get; }
+ public abstract long PacketsReassembled { get; }
+ public abstract long ReceivedPackets { get; }
+ public abstract long ReceivedPacketsDelivered { get; }
+ public abstract long ReceivedPacketsDiscarded { get; }
+ public abstract long ReceivedPacketsForwarded { get; }
+ public abstract long ReceivedPacketsWithAddressErrors { get; }
+ public abstract long ReceivedPacketsWithHeadersErrors { get; }
+ public abstract long ReceivedPacketsWithUnknownProtocol { get; }
+ }
+ public abstract class IPInterfaceProperties {
+ protected IPInterfaceProperties();
+ public abstract IPAddressInformationCollection AnycastAddresses { get; }
+ public abstract IPAddressCollection DhcpServerAddresses { get; }
+ public abstract IPAddressCollection DnsAddresses { get; }
+ public abstract string DnsSuffix { get; }
+ public abstract GatewayIPAddressInformationCollection GatewayAddresses { get; }
+ public abstract bool IsDnsEnabled { get; }
+ public abstract bool IsDynamicDnsEnabled { get; }
+ public abstract MulticastIPAddressInformationCollection MulticastAddresses { get; }
+ public abstract UnicastIPAddressInformationCollection UnicastAddresses { get; }
+ public abstract IPAddressCollection WinsServersAddresses { get; }
+ public abstract IPv4InterfaceProperties GetIPv4Properties();
+ public abstract IPv6InterfaceProperties GetIPv6Properties();
+ }
+ public abstract class IPInterfaceStatistics {
+ protected IPInterfaceStatistics();
+ public abstract long BytesReceived { get; }
+ public abstract long BytesSent { get; }
+ public abstract long IncomingPacketsDiscarded { get; }
+ public abstract long IncomingPacketsWithErrors { get; }
+ public abstract long IncomingUnknownProtocolPackets { get; }
+ public abstract long NonUnicastPacketsReceived { get; }
+ public abstract long NonUnicastPacketsSent { get; }
+ public abstract long OutgoingPacketsDiscarded { get; }
+ public abstract long OutgoingPacketsWithErrors { get; }
+ public abstract long OutputQueueLength { get; }
+ public abstract long UnicastPacketsReceived { get; }
+ public abstract long UnicastPacketsSent { get; }
+ }
+ public enum IPStatus {
+ BadDestination = 11018,
+ BadHeader = 11042,
+ BadOption = 11007,
+ BadRoute = 11012,
+ DestinationHostUnreachable = 11003,
+ DestinationNetworkUnreachable = 11002,
+ DestinationPortUnreachable = 11005,
+ DestinationProhibited = 11004,
+ DestinationProtocolUnreachable = 11004,
+ DestinationScopeMismatch = 11045,
+ DestinationUnreachable = 11040,
+ HardwareError = 11008,
+ IcmpError = 11044,
+ NoResources = 11006,
+ PacketTooBig = 11009,
+ ParameterProblem = 11015,
+ SourceQuench = 11016,
+ Success = 0,
+ TimedOut = 11010,
+ TimeExceeded = 11041,
+ TtlExpired = 11013,
+ TtlReassemblyTimeExceeded = 11014,
+ Unknown = -1,
+ UnrecognizedNextHeader = 11043,
+ }
+ public abstract class IPv4InterfaceProperties {
+ protected IPv4InterfaceProperties();
+ public abstract int Index { get; }
+ public abstract bool IsAutomaticPrivateAddressingActive { get; }
+ public abstract bool IsAutomaticPrivateAddressingEnabled { get; }
+ public abstract bool IsDhcpEnabled { get; }
+ public abstract bool IsForwardingEnabled { get; }
+ public abstract int Mtu { get; }
+ public abstract bool UsesWins { get; }
+ }
+ public abstract class IPv6InterfaceProperties {
+ protected IPv6InterfaceProperties();
+ public abstract int Index { get; }
+ public abstract int Mtu { get; }
+ public virtual long GetScopeId(ScopeLevel scopeLevel);
+ }
+ public abstract class MulticastIPAddressInformation : IPAddressInformation {
+ protected MulticastIPAddressInformation();
+ public abstract long AddressPreferredLifetime { get; }
+ public abstract long AddressValidLifetime { get; }
+ public abstract long DhcpLeaseLifetime { get; }
+ public abstract DuplicateAddressDetectionState DuplicateAddressDetectionState { get; }
+ public abstract PrefixOrigin PrefixOrigin { get; }
+ public abstract SuffixOrigin SuffixOrigin { get; }
+ }
+ public class MulticastIPAddressInformationCollection : ICollection<MulticastIPAddressInformation>, IEnumerable, IEnumerable<MulticastIPAddressInformation> {
+ protected internal MulticastIPAddressInformationCollection();
+ public virtual int Count { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual MulticastIPAddressInformation this[int index] { get; }
+ public virtual void Add(MulticastIPAddressInformation address);
+ public virtual void Clear();
+ public virtual bool Contains(MulticastIPAddressInformation address);
+ public virtual void CopyTo(MulticastIPAddressInformation[] array, int offset);
+ public virtual IEnumerator<MulticastIPAddressInformation> GetEnumerator();
+ public virtual bool Remove(MulticastIPAddressInformation address);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public enum NetBiosNodeType {
+ Broadcast = 1,
+ Hybrid = 8,
+ Mixed = 4,
+ Peer2Peer = 2,
+ Unknown = 0,
+ }
+ public delegate void NetworkAddressChangedEventHandler(object sender, EventArgs e);
+ public static class NetworkChange {
+ public static event NetworkAddressChangedEventHandler NetworkAddressChanged;
+ }
+ public class NetworkInformationException : Exception {
+ public NetworkInformationException();
+ public NetworkInformationException(int errorCode);
+ public int ErrorCode { get; }
+ }
+ public abstract class NetworkInterface {
+ protected NetworkInterface();
+ public virtual string Description { get; }
+ public virtual string Id { get; }
+ public static int IPv6LoopbackInterfaceIndex { get; }
+ public virtual bool IsReceiveOnly { get; }
+ public static int LoopbackInterfaceIndex { get; }
+ public virtual string Name { get; }
+ public virtual NetworkInterfaceType NetworkInterfaceType { get; }
+ public virtual OperationalStatus OperationalStatus { get; }
+ public virtual long Speed { get; }
+ public virtual bool SupportsMulticast { get; }
+ public static NetworkInterface[] GetAllNetworkInterfaces();
+ public virtual IPInterfaceProperties GetIPProperties();
+ public virtual IPInterfaceStatistics GetIPStatistics();
+ public static bool GetIsNetworkAvailable();
+ public virtual PhysicalAddress GetPhysicalAddress();
+ public virtual bool Supports(NetworkInterfaceComponent networkInterfaceComponent);
+ }
+ public enum NetworkInterfaceComponent {
+ IPv4 = 0,
+ IPv6 = 1,
+ }
+ public enum NetworkInterfaceType {
+ AsymmetricDsl = 94,
+ Atm = 37,
+ BasicIsdn = 20,
+ Ethernet = 6,
+ Ethernet3Megabit = 26,
+ FastEthernetFx = 69,
+ FastEthernetT = 62,
+ Fddi = 15,
+ GenericModem = 48,
+ GigabitEthernet = 117,
+ HighPerformanceSerialBus = 144,
+ IPOverAtm = 114,
+ Isdn = 63,
+ Loopback = 24,
+ MultiRateSymmetricDsl = 143,
+ Ppp = 23,
+ PrimaryIsdn = 21,
+ RateAdaptDsl = 95,
+ Slip = 28,
+ SymmetricDsl = 96,
+ TokenRing = 9,
+ Tunnel = 131,
+ Unknown = 1,
+ VeryHighSpeedDsl = 97,
+ Wireless80211 = 71,
+ Wman = 237,
+ Wwanpp = 243,
+ Wwanpp2 = 244,
+ }
+ public enum OperationalStatus {
+ Dormant = 5,
+ Down = 2,
+ LowerLayerDown = 7,
+ NotPresent = 6,
+ Testing = 3,
+ Unknown = 4,
+ Up = 1,
+ }
+ public class PhysicalAddress {
+ public static readonly PhysicalAddress None;
+ public PhysicalAddress(byte[] address);
+ public override bool Equals(object comparand);
+ public byte[] GetAddressBytes();
+ public override int GetHashCode();
+ public static PhysicalAddress Parse(string address);
+ public override string ToString();
+ }
+ public class Ping : IDisposable {
+ public Ping();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public Task<PingReply> SendPingAsync(IPAddress address);
+ public Task<PingReply> SendPingAsync(IPAddress address, int timeout);
+ public Task<PingReply> SendPingAsync(IPAddress address, int timeout, byte[] buffer);
+ public Task<PingReply> SendPingAsync(IPAddress address, int timeout, byte[] buffer, PingOptions options);
+ public Task<PingReply> SendPingAsync(string hostNameOrAddress);
+ public Task<PingReply> SendPingAsync(string hostNameOrAddress, int timeout);
+ public Task<PingReply> SendPingAsync(string hostNameOrAddress, int timeout, byte[] buffer);
+ public Task<PingReply> SendPingAsync(string hostNameOrAddress, int timeout, byte[] buffer, PingOptions options);
+ }
+ public class PingException : InvalidOperationException {
+ public PingException(string message);
+ public PingException(string message, Exception innerException);
+ }
+ public class PingOptions {
+ public PingOptions();
+ public PingOptions(int ttl, bool dontFragment);
+ public bool DontFragment { get; set; }
+ public int Ttl { get; set; }
+ }
+ public class PingReply {
+ public IPAddress Address { get; }
+ public byte[] Buffer { get; }
+ public PingOptions Options { get; }
+ public long RoundtripTime { get; }
+ public IPStatus Status { get; }
+ }
+ public enum PrefixOrigin {
+ Dhcp = 3,
+ Manual = 1,
+ Other = 0,
+ RouterAdvertisement = 4,
+ WellKnown = 2,
+ }
+ public enum ScopeLevel {
+ Admin = 4,
+ Global = 14,
+ Interface = 1,
+ Link = 2,
+ None = 0,
+ Organization = 8,
+ Site = 5,
+ Subnet = 3,
+ }
+ public enum SuffixOrigin {
+ LinkLayerAddress = 4,
+ Manual = 1,
+ OriginDhcp = 3,
+ Other = 0,
+ Random = 5,
+ WellKnown = 2,
+ }
+ public abstract class TcpConnectionInformation {
+ protected TcpConnectionInformation();
+ public abstract IPEndPoint LocalEndPoint { get; }
+ public abstract IPEndPoint RemoteEndPoint { get; }
+ public abstract TcpState State { get; }
+ }
+ public enum TcpState {
+ Closed = 1,
+ CloseWait = 8,
+ Closing = 9,
+ DeleteTcb = 12,
+ Established = 5,
+ FinWait1 = 6,
+ FinWait2 = 7,
+ LastAck = 10,
+ Listen = 2,
+ SynReceived = 4,
+ SynSent = 3,
+ TimeWait = 11,
+ Unknown = 0,
+ }
+ public abstract class TcpStatistics {
+ protected TcpStatistics();
+ public abstract long ConnectionsAccepted { get; }
+ public abstract long ConnectionsInitiated { get; }
+ public abstract long CumulativeConnections { get; }
+ public abstract long CurrentConnections { get; }
+ public abstract long ErrorsReceived { get; }
+ public abstract long FailedConnectionAttempts { get; }
+ public abstract long MaximumConnections { get; }
+ public abstract long MaximumTransmissionTimeout { get; }
+ public abstract long MinimumTransmissionTimeout { get; }
+ public abstract long ResetConnections { get; }
+ public abstract long ResetsSent { get; }
+ public abstract long SegmentsReceived { get; }
+ public abstract long SegmentsResent { get; }
+ public abstract long SegmentsSent { get; }
+ }
+ public abstract class UdpStatistics {
+ protected UdpStatistics();
+ public abstract long DatagramsReceived { get; }
+ public abstract long DatagramsSent { get; }
+ public abstract long IncomingDatagramsDiscarded { get; }
+ public abstract long IncomingDatagramsWithErrors { get; }
+ public abstract int UdpListeners { get; }
+ }
+ public abstract class UnicastIPAddressInformation : IPAddressInformation {
+ protected UnicastIPAddressInformation();
+ public abstract long AddressPreferredLifetime { get; }
+ public abstract long AddressValidLifetime { get; }
+ public abstract long DhcpLeaseLifetime { get; }
+ public abstract DuplicateAddressDetectionState DuplicateAddressDetectionState { get; }
+ public abstract IPAddress IPv4Mask { get; }
+ public virtual int PrefixLength { get; }
+ public abstract PrefixOrigin PrefixOrigin { get; }
+ public abstract SuffixOrigin SuffixOrigin { get; }
+ }
+ public class UnicastIPAddressInformationCollection : ICollection<UnicastIPAddressInformation>, IEnumerable, IEnumerable<UnicastIPAddressInformation> {
+ protected internal UnicastIPAddressInformationCollection();
+ public virtual int Count { get; }
+ public virtual bool IsReadOnly { get; }
+ public virtual UnicastIPAddressInformation this[int index] { get; }
+ public virtual void Add(UnicastIPAddressInformation address);
+ public virtual void Clear();
+ public virtual bool Contains(UnicastIPAddressInformation address);
+ public virtual void CopyTo(UnicastIPAddressInformation[] array, int offset);
+ public virtual IEnumerator<UnicastIPAddressInformation> GetEnumerator();
+ public virtual bool Remove(UnicastIPAddressInformation address);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+}
```

View File

@@ -1,115 +1,115 @@
# System.Net.Security
``` diff
+namespace System.Net.Security {
+ public abstract class AuthenticatedStream : Stream {
+ protected AuthenticatedStream(Stream innerStream, bool leaveInnerStreamOpen);
+ protected Stream InnerStream { get; }
+ public abstract bool IsAuthenticated { get; }
+ public abstract bool IsEncrypted { get; }
+ public abstract bool IsMutuallyAuthenticated { get; }
+ public abstract bool IsServer { get; }
+ public abstract bool IsSigned { get; }
+ public bool LeaveInnerStreamOpen { get; }
+ protected override void Dispose(bool disposing);
+ }
+ public enum AuthenticationLevel {
+ MutualAuthRequested = 1,
+ MutualAuthRequired = 2,
+ None = 0,
+ }
+ public enum EncryptionPolicy {
+ AllowNoEncryption = 1,
+ NoEncryption = 2,
+ RequireEncryption = 0,
+ }
+ public delegate X509Certificate LocalCertificateSelectionCallback(object sender, string targetHost, X509CertificateCollection localCertificates, X509Certificate remoteCertificate, string[] acceptableIssuers);
+ public class NegotiateStream : AuthenticatedStream {
+ public NegotiateStream(Stream innerStream);
+ public NegotiateStream(Stream innerStream, bool leaveInnerStreamOpen);
+ public override bool CanRead { get; }
+ public override bool CanSeek { get; }
+ public override bool CanTimeout { get; }
+ public override bool CanWrite { get; }
+ public virtual TokenImpersonationLevel ImpersonationLevel { get; }
+ public override bool IsAuthenticated { get; }
+ public override bool IsEncrypted { get; }
+ public override bool IsMutuallyAuthenticated { get; }
+ public override bool IsServer { get; }
+ public override bool IsSigned { get; }
+ public override long Length { get; }
+ public override long Position { get; set; }
+ public override int ReadTimeout { get; set; }
+ public virtual IIdentity RemoteIdentity { get; }
+ public override int WriteTimeout { get; set; }
+ public virtual Task AuthenticateAsClientAsync();
+ public virtual Task AuthenticateAsClientAsync(NetworkCredential credential, ChannelBinding binding, string targetName);
+ public virtual Task AuthenticateAsClientAsync(NetworkCredential credential, ChannelBinding binding, string targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel);
+ public virtual Task AuthenticateAsClientAsync(NetworkCredential credential, string targetName);
+ public virtual Task AuthenticateAsClientAsync(NetworkCredential credential, string targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel);
+ public virtual Task AuthenticateAsServerAsync();
+ public virtual Task AuthenticateAsServerAsync(NetworkCredential credential, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel requiredImpersonationLevel);
+ public virtual Task AuthenticateAsServerAsync(NetworkCredential credential, ExtendedProtectionPolicy policy, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel requiredImpersonationLevel);
+ public virtual Task AuthenticateAsServerAsync(ExtendedProtectionPolicy policy);
+ public override void Flush();
+ public override int Read(byte[] buffer, int offset, int count);
+ public override long Seek(long offset, SeekOrigin origin);
+ public override void SetLength(long value);
+ public override void Write(byte[] buffer, int offset, int count);
+ }
+ public enum ProtectionLevel {
+ EncryptAndSign = 2,
+ None = 0,
+ Sign = 1,
+ }
+ public delegate bool RemoteCertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors);
+ public enum SslPolicyErrors {
+ None = 0,
+ RemoteCertificateChainErrors = 4,
+ RemoteCertificateNameMismatch = 2,
+ RemoteCertificateNotAvailable = 1,
+ }
+ public class SslStream : AuthenticatedStream {
+ public SslStream(Stream innerStream);
+ public SslStream(Stream innerStream, bool leaveInnerStreamOpen);
+ public SslStream(Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback);
+ public SslStream(Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback);
+ public SslStream(Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback, EncryptionPolicy encryptionPolicy);
+ public override bool CanRead { get; }
+ public override bool CanSeek { get; }
+ public override bool CanTimeout { get; }
+ public override bool CanWrite { get; }
+ public virtual bool CheckCertRevocationStatus { get; }
+ public virtual CipherAlgorithmType CipherAlgorithm { get; }
+ public virtual int CipherStrength { get; }
+ public virtual HashAlgorithmType HashAlgorithm { get; }
+ public virtual int HashStrength { get; }
+ public override bool IsAuthenticated { get; }
+ public override bool IsEncrypted { get; }
+ public override bool IsMutuallyAuthenticated { get; }
+ public override bool IsServer { get; }
+ public override bool IsSigned { get; }
+ public virtual ExchangeAlgorithmType KeyExchangeAlgorithm { get; }
+ public virtual int KeyExchangeStrength { get; }
+ public override long Length { get; }
+ public virtual X509Certificate LocalCertificate { get; }
+ public override long Position { get; set; }
+ public override int ReadTimeout { get; set; }
+ public virtual X509Certificate RemoteCertificate { get; }
+ public virtual SslProtocols SslProtocol { get; }
+ public TransportContext TransportContext { get; }
+ public override int WriteTimeout { get; set; }
+ public virtual Task AuthenticateAsClientAsync(string targetHost);
+ public virtual Task AuthenticateAsClientAsync(string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
+ public virtual Task AuthenticateAsServerAsync(X509Certificate serverCertificate);
+ public virtual Task AuthenticateAsServerAsync(X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
+ public override void Flush();
+ public override int Read(byte[] buffer, int offset, int count);
+ public override long Seek(long offset, SeekOrigin origin);
+ public override void SetLength(long value);
+ public void Write(byte[] buffer);
+ public override void Write(byte[] buffer, int offset, int count);
+ }
+}
```
# System.Net.Security
``` diff
+namespace System.Net.Security {
+ public abstract class AuthenticatedStream : Stream {
+ protected AuthenticatedStream(Stream innerStream, bool leaveInnerStreamOpen);
+ protected Stream InnerStream { get; }
+ public abstract bool IsAuthenticated { get; }
+ public abstract bool IsEncrypted { get; }
+ public abstract bool IsMutuallyAuthenticated { get; }
+ public abstract bool IsServer { get; }
+ public abstract bool IsSigned { get; }
+ public bool LeaveInnerStreamOpen { get; }
+ protected override void Dispose(bool disposing);
+ }
+ public enum AuthenticationLevel {
+ MutualAuthRequested = 1,
+ MutualAuthRequired = 2,
+ None = 0,
+ }
+ public enum EncryptionPolicy {
+ AllowNoEncryption = 1,
+ NoEncryption = 2,
+ RequireEncryption = 0,
+ }
+ public delegate X509Certificate LocalCertificateSelectionCallback(object sender, string targetHost, X509CertificateCollection localCertificates, X509Certificate remoteCertificate, string[] acceptableIssuers);
+ public class NegotiateStream : AuthenticatedStream {
+ public NegotiateStream(Stream innerStream);
+ public NegotiateStream(Stream innerStream, bool leaveInnerStreamOpen);
+ public override bool CanRead { get; }
+ public override bool CanSeek { get; }
+ public override bool CanTimeout { get; }
+ public override bool CanWrite { get; }
+ public virtual TokenImpersonationLevel ImpersonationLevel { get; }
+ public override bool IsAuthenticated { get; }
+ public override bool IsEncrypted { get; }
+ public override bool IsMutuallyAuthenticated { get; }
+ public override bool IsServer { get; }
+ public override bool IsSigned { get; }
+ public override long Length { get; }
+ public override long Position { get; set; }
+ public override int ReadTimeout { get; set; }
+ public virtual IIdentity RemoteIdentity { get; }
+ public override int WriteTimeout { get; set; }
+ public virtual Task AuthenticateAsClientAsync();
+ public virtual Task AuthenticateAsClientAsync(NetworkCredential credential, ChannelBinding binding, string targetName);
+ public virtual Task AuthenticateAsClientAsync(NetworkCredential credential, ChannelBinding binding, string targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel);
+ public virtual Task AuthenticateAsClientAsync(NetworkCredential credential, string targetName);
+ public virtual Task AuthenticateAsClientAsync(NetworkCredential credential, string targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel);
+ public virtual Task AuthenticateAsServerAsync();
+ public virtual Task AuthenticateAsServerAsync(NetworkCredential credential, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel requiredImpersonationLevel);
+ public virtual Task AuthenticateAsServerAsync(NetworkCredential credential, ExtendedProtectionPolicy policy, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel requiredImpersonationLevel);
+ public virtual Task AuthenticateAsServerAsync(ExtendedProtectionPolicy policy);
+ public override void Flush();
+ public override int Read(byte[] buffer, int offset, int count);
+ public override long Seek(long offset, SeekOrigin origin);
+ public override void SetLength(long value);
+ public override void Write(byte[] buffer, int offset, int count);
+ }
+ public enum ProtectionLevel {
+ EncryptAndSign = 2,
+ None = 0,
+ Sign = 1,
+ }
+ public delegate bool RemoteCertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors);
+ public enum SslPolicyErrors {
+ None = 0,
+ RemoteCertificateChainErrors = 4,
+ RemoteCertificateNameMismatch = 2,
+ RemoteCertificateNotAvailable = 1,
+ }
+ public class SslStream : AuthenticatedStream {
+ public SslStream(Stream innerStream);
+ public SslStream(Stream innerStream, bool leaveInnerStreamOpen);
+ public SslStream(Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback);
+ public SslStream(Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback);
+ public SslStream(Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback, EncryptionPolicy encryptionPolicy);
+ public override bool CanRead { get; }
+ public override bool CanSeek { get; }
+ public override bool CanTimeout { get; }
+ public override bool CanWrite { get; }
+ public virtual bool CheckCertRevocationStatus { get; }
+ public virtual CipherAlgorithmType CipherAlgorithm { get; }
+ public virtual int CipherStrength { get; }
+ public virtual HashAlgorithmType HashAlgorithm { get; }
+ public virtual int HashStrength { get; }
+ public override bool IsAuthenticated { get; }
+ public override bool IsEncrypted { get; }
+ public override bool IsMutuallyAuthenticated { get; }
+ public override bool IsServer { get; }
+ public override bool IsSigned { get; }
+ public virtual ExchangeAlgorithmType KeyExchangeAlgorithm { get; }
+ public virtual int KeyExchangeStrength { get; }
+ public override long Length { get; }
+ public virtual X509Certificate LocalCertificate { get; }
+ public override long Position { get; set; }
+ public override int ReadTimeout { get; set; }
+ public virtual X509Certificate RemoteCertificate { get; }
+ public virtual SslProtocols SslProtocol { get; }
+ public TransportContext TransportContext { get; }
+ public override int WriteTimeout { get; set; }
+ public virtual Task AuthenticateAsClientAsync(string targetHost);
+ public virtual Task AuthenticateAsClientAsync(string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
+ public virtual Task AuthenticateAsServerAsync(X509Certificate serverCertificate);
+ public virtual Task AuthenticateAsServerAsync(X509Certificate serverCertificate, bool clientCertificateRequired, SslProtocols enabledSslProtocols, bool checkCertificateRevocation);
+ public override void Flush();
+ public override int Read(byte[] buffer, int offset, int count);
+ public override long Seek(long offset, SeekOrigin origin);
+ public override void SetLength(long value);
+ public void Write(byte[] buffer);
+ public override void Write(byte[] buffer, int offset, int count);
+ }
+}
```

File diff suppressed because it is too large Load Diff

View File

@@ -1,108 +1,108 @@
# System.Net.WebSockets
``` diff
+namespace System.Net.WebSockets {
+ public sealed class ClientWebSocket : WebSocket {
+ public ClientWebSocket();
+ public override Nullable<WebSocketCloseStatus> CloseStatus { get; }
+ public override string CloseStatusDescription { get; }
+ public ClientWebSocketOptions Options { get; }
+ public override WebSocketState State { get; }
+ public override string SubProtocol { get; }
+ public override void Abort();
+ public override Task CloseAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken);
+ public override Task CloseOutputAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken);
+ public Task ConnectAsync(Uri uri, CancellationToken cancellationToken);
+ public override void Dispose();
+ public override Task<WebSocketReceiveResult> ReceiveAsync(ArraySegment<byte> buffer, CancellationToken cancellationToken);
+ public override Task SendAsync(ArraySegment<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken);
+ }
+ public sealed class ClientWebSocketOptions {
+ public X509CertificateCollection ClientCertificates { get; set; }
+ public CookieContainer Cookies { get; set; }
+ public ICredentials Credentials { get; set; }
+ public TimeSpan KeepAliveInterval { get; set; }
+ public IWebProxy Proxy { get; set; }
+ public void AddSubProtocol(string subProtocol);
+ public void SetRequestHeader(string headerName, string headerValue);
+ }
+ public abstract class WebSocket : IDisposable {
+ protected WebSocket();
+ public abstract Nullable<WebSocketCloseStatus> CloseStatus { get; }
+ public abstract string CloseStatusDescription { get; }
+ public abstract WebSocketState State { get; }
+ public abstract string SubProtocol { get; }
+ public abstract void Abort();
+ public abstract Task CloseAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken);
+ public abstract Task CloseOutputAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken);
+ public abstract void Dispose();
+ public abstract Task<WebSocketReceiveResult> ReceiveAsync(ArraySegment<byte> buffer, CancellationToken cancellationToken);
+ public abstract Task SendAsync(ArraySegment<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken);
+ }
+ public enum WebSocketCloseStatus {
+ Empty = 1005,
+ EndpointUnavailable = 1001,
+ InternalServerError = 1011,
+ InvalidMessageType = 1003,
+ InvalidPayloadData = 1007,
+ MandatoryExtension = 1010,
+ MessageTooBig = 1009,
+ NormalClosure = 1000,
+ PolicyViolation = 1008,
+ ProtocolError = 1002,
+ }
+ public enum WebSocketError {
+ ConnectionClosedPrematurely = 8,
+ Faulted = 2,
+ HeaderError = 7,
+ InvalidMessageType = 1,
+ InvalidState = 9,
+ NativeError = 3,
+ NotAWebSocket = 4,
+ Success = 0,
+ UnsupportedProtocol = 6,
+ UnsupportedVersion = 5,
+ }
+ public sealed class WebSocketException : Exception {
+ public WebSocketException(int nativeError);
+ public WebSocketException(int nativeError, Exception innerException);
+ public WebSocketException(int nativeError, string message);
+ public WebSocketException(WebSocketError error);
+ public WebSocketException(WebSocketError error, Exception innerException);
+ public WebSocketException(WebSocketError error, int nativeError);
+ public WebSocketException(WebSocketError error, int nativeError, Exception innerException);
+ public WebSocketException(WebSocketError error, int nativeError, string message);
+ public WebSocketException(WebSocketError error, int nativeError, string message, Exception innerException);
+ public WebSocketException(WebSocketError error, string message);
+ public WebSocketException(WebSocketError error, string message, Exception innerException);
+ public WebSocketException(string message);
+ public WebSocketException(string message, Exception innerException);
+ public int ErrorCode { get; }
+ public WebSocketError WebSocketErrorCode { get; }
+ }
+ public enum WebSocketMessageType {
+ Binary = 1,
+ Close = 2,
+ Text = 0,
+ }
+ public class WebSocketReceiveResult {
+ public WebSocketReceiveResult(int count, WebSocketMessageType messageType, bool endOfMessage);
+ public WebSocketReceiveResult(int count, WebSocketMessageType messageType, bool endOfMessage, Nullable<WebSocketCloseStatus> closeStatus, string closeStatusDescription);
+ public Nullable<WebSocketCloseStatus> CloseStatus { get; }
+ public string CloseStatusDescription { get; }
+ public int Count { get; }
+ public bool EndOfMessage { get; }
+ public WebSocketMessageType MessageType { get; }
+ }
+ public enum WebSocketState {
+ Aborted = 6,
+ Closed = 5,
+ CloseReceived = 4,
+ CloseSent = 3,
+ Connecting = 1,
+ None = 0,
+ Open = 2,
+ }
+}
```
# System.Net.WebSockets
``` diff
+namespace System.Net.WebSockets {
+ public sealed class ClientWebSocket : WebSocket {
+ public ClientWebSocket();
+ public override Nullable<WebSocketCloseStatus> CloseStatus { get; }
+ public override string CloseStatusDescription { get; }
+ public ClientWebSocketOptions Options { get; }
+ public override WebSocketState State { get; }
+ public override string SubProtocol { get; }
+ public override void Abort();
+ public override Task CloseAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken);
+ public override Task CloseOutputAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken);
+ public Task ConnectAsync(Uri uri, CancellationToken cancellationToken);
+ public override void Dispose();
+ public override Task<WebSocketReceiveResult> ReceiveAsync(ArraySegment<byte> buffer, CancellationToken cancellationToken);
+ public override Task SendAsync(ArraySegment<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken);
+ }
+ public sealed class ClientWebSocketOptions {
+ public X509CertificateCollection ClientCertificates { get; set; }
+ public CookieContainer Cookies { get; set; }
+ public ICredentials Credentials { get; set; }
+ public TimeSpan KeepAliveInterval { get; set; }
+ public IWebProxy Proxy { get; set; }
+ public void AddSubProtocol(string subProtocol);
+ public void SetRequestHeader(string headerName, string headerValue);
+ }
+ public abstract class WebSocket : IDisposable {
+ protected WebSocket();
+ public abstract Nullable<WebSocketCloseStatus> CloseStatus { get; }
+ public abstract string CloseStatusDescription { get; }
+ public abstract WebSocketState State { get; }
+ public abstract string SubProtocol { get; }
+ public abstract void Abort();
+ public abstract Task CloseAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken);
+ public abstract Task CloseOutputAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken);
+ public abstract void Dispose();
+ public abstract Task<WebSocketReceiveResult> ReceiveAsync(ArraySegment<byte> buffer, CancellationToken cancellationToken);
+ public abstract Task SendAsync(ArraySegment<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken);
+ }
+ public enum WebSocketCloseStatus {
+ Empty = 1005,
+ EndpointUnavailable = 1001,
+ InternalServerError = 1011,
+ InvalidMessageType = 1003,
+ InvalidPayloadData = 1007,
+ MandatoryExtension = 1010,
+ MessageTooBig = 1009,
+ NormalClosure = 1000,
+ PolicyViolation = 1008,
+ ProtocolError = 1002,
+ }
+ public enum WebSocketError {
+ ConnectionClosedPrematurely = 8,
+ Faulted = 2,
+ HeaderError = 7,
+ InvalidMessageType = 1,
+ InvalidState = 9,
+ NativeError = 3,
+ NotAWebSocket = 4,
+ Success = 0,
+ UnsupportedProtocol = 6,
+ UnsupportedVersion = 5,
+ }
+ public sealed class WebSocketException : Exception {
+ public WebSocketException(int nativeError);
+ public WebSocketException(int nativeError, Exception innerException);
+ public WebSocketException(int nativeError, string message);
+ public WebSocketException(WebSocketError error);
+ public WebSocketException(WebSocketError error, Exception innerException);
+ public WebSocketException(WebSocketError error, int nativeError);
+ public WebSocketException(WebSocketError error, int nativeError, Exception innerException);
+ public WebSocketException(WebSocketError error, int nativeError, string message);
+ public WebSocketException(WebSocketError error, int nativeError, string message, Exception innerException);
+ public WebSocketException(WebSocketError error, string message);
+ public WebSocketException(WebSocketError error, string message, Exception innerException);
+ public WebSocketException(string message);
+ public WebSocketException(string message, Exception innerException);
+ public int ErrorCode { get; }
+ public WebSocketError WebSocketErrorCode { get; }
+ }
+ public enum WebSocketMessageType {
+ Binary = 1,
+ Close = 2,
+ Text = 0,
+ }
+ public class WebSocketReceiveResult {
+ public WebSocketReceiveResult(int count, WebSocketMessageType messageType, bool endOfMessage);
+ public WebSocketReceiveResult(int count, WebSocketMessageType messageType, bool endOfMessage, Nullable<WebSocketCloseStatus> closeStatus, string closeStatusDescription);
+ public Nullable<WebSocketCloseStatus> CloseStatus { get; }
+ public string CloseStatusDescription { get; }
+ public int Count { get; }
+ public bool EndOfMessage { get; }
+ public WebSocketMessageType MessageType { get; }
+ }
+ public enum WebSocketState {
+ Aborted = 6,
+ Closed = 5,
+ CloseReceived = 4,
+ CloseSent = 3,
+ Connecting = 1,
+ None = 0,
+ Open = 2,
+ }
+}
```

View File

@@ -1,444 +1,444 @@
# System.Net
``` diff
+namespace System.Net {
+ public enum AuthenticationSchemes {
+ Anonymous = 32768,
+ Basic = 8,
+ Digest = 1,
+ IntegratedWindowsAuthentication = 6,
+ Negotiate = 2,
+ None = 0,
+ Ntlm = 4,
+ }
+ public sealed class Cookie {
+ public Cookie();
+ public Cookie(string name, string value);
+ public Cookie(string name, string value, string path);
+ public Cookie(string name, string value, string path, string domain);
+ public string Comment { get; set; }
+ public Uri CommentUri { get; set; }
+ public bool Discard { get; set; }
+ public string Domain { get; set; }
+ public bool Expired { get; set; }
+ public DateTime Expires { get; set; }
+ public bool HttpOnly { get; set; }
+ public string Name { get; set; }
+ public string Path { get; set; }
+ public string Port { get; set; }
+ public bool Secure { get; set; }
+ public DateTime TimeStamp { get; }
+ public string Value { get; set; }
+ public int Version { get; set; }
+ public override bool Equals(object comparand);
+ public override int GetHashCode();
+ public override string ToString();
+ }
+ public class CookieCollection : ICollection, IEnumerable {
+ public CookieCollection();
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public Cookie this[string name] { get; }
+ public void Add(Cookie cookie);
+ public void Add(CookieCollection cookies);
+ public IEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ }
+ public class CookieContainer {
+ public const int DefaultCookieLengthLimit = 4096;
+ public const int DefaultCookieLimit = 300;
+ public const int DefaultPerDomainCookieLimit = 20;
+ public CookieContainer();
+ public int Capacity { get; set; }
+ public int Count { get; }
+ public int MaxCookieSize { get; set; }
+ public int PerDomainCapacity { get; set; }
+ public void Add(Uri uri, Cookie cookie);
+ public void Add(Uri uri, CookieCollection cookies);
+ public string GetCookieHeader(Uri uri);
+ public CookieCollection GetCookies(Uri uri);
+ public void SetCookies(Uri uri, string cookieHeader);
+ }
+ public class CookieException : FormatException {
+ public CookieException();
+ }
+ public class CredentialCache : ICredentials, ICredentialsByHost, IEnumerable {
+ public CredentialCache();
+ public static ICredentials DefaultCredentials { get; }
+ public static NetworkCredential DefaultNetworkCredentials { get; }
+ public void Add(string host, int port, string authenticationType, NetworkCredential credential);
+ public void Add(Uri uriPrefix, string authType, NetworkCredential cred);
+ public NetworkCredential GetCredential(string host, int port, string authenticationType);
+ public NetworkCredential GetCredential(Uri uriPrefix, string authType);
+ public IEnumerator GetEnumerator();
+ public void Remove(string host, int port, string authenticationType);
+ public void Remove(Uri uriPrefix, string authType);
+ }
+ public enum DecompressionMethods {
+ Deflate = 2,
+ GZip = 1,
+ None = 0,
+ }
+ public static class Dns {
+ public static Task<IPAddress[]> GetHostAddressesAsync(string hostNameOrAddress);
+ public static Task<IPHostEntry> GetHostEntryAsync(IPAddress address);
+ public static Task<IPHostEntry> GetHostEntryAsync(string hostNameOrAddress);
+ public static string GetHostName();
+ }
+ public class DnsEndPoint : EndPoint {
+ public DnsEndPoint(string host, int port);
+ public DnsEndPoint(string host, int port, AddressFamily addressFamily);
+ public override AddressFamily AddressFamily { get; }
+ public string Host { get; }
+ public int Port { get; }
+ public override bool Equals(object comparand);
+ public override int GetHashCode();
+ public override string ToString();
+ }
+ public abstract class EndPoint {
+ protected EndPoint();
+ public virtual AddressFamily AddressFamily { get; }
+ public virtual EndPoint Create(SocketAddress socketAddress);
+ public virtual SocketAddress Serialize();
+ }
+ public enum HttpRequestHeader {
+ Accept = 20,
+ AcceptCharset = 21,
+ AcceptEncoding = 22,
+ AcceptLanguage = 23,
+ Allow = 10,
+ Authorization = 24,
+ CacheControl = 0,
+ Connection = 1,
+ ContentEncoding = 13,
+ ContentLanguage = 14,
+ ContentLength = 11,
+ ContentLocation = 15,
+ ContentMd5 = 16,
+ ContentRange = 17,
+ ContentType = 12,
+ Cookie = 25,
+ Date = 2,
+ Expect = 26,
+ Expires = 18,
+ From = 27,
+ Host = 28,
+ IfMatch = 29,
+ IfModifiedSince = 30,
+ IfNoneMatch = 31,
+ IfRange = 32,
+ IfUnmodifiedSince = 33,
+ KeepAlive = 3,
+ LastModified = 19,
+ MaxForwards = 34,
+ Pragma = 4,
+ ProxyAuthorization = 35,
+ Range = 37,
+ Referer = 36,
+ Te = 38,
+ Trailer = 5,
+ TransferEncoding = 6,
+ Translate = 39,
+ Upgrade = 7,
+ UserAgent = 40,
+ Via = 8,
+ Warning = 9,
+ }
+ public enum HttpResponseHeader {
+ AcceptRanges = 20,
+ Age = 21,
+ Allow = 10,
+ CacheControl = 0,
+ Connection = 1,
+ ContentEncoding = 13,
+ ContentLanguage = 14,
+ ContentLength = 11,
+ ContentLocation = 15,
+ ContentMd5 = 16,
+ ContentRange = 17,
+ ContentType = 12,
+ Date = 2,
+ ETag = 22,
+ Expires = 18,
+ KeepAlive = 3,
+ LastModified = 19,
+ Location = 23,
+ Pragma = 4,
+ ProxyAuthenticate = 24,
+ RetryAfter = 25,
+ Server = 26,
+ SetCookie = 27,
+ Trailer = 5,
+ TransferEncoding = 6,
+ Upgrade = 7,
+ Vary = 28,
+ Via = 8,
+ Warning = 9,
+ WwwAuthenticate = 29,
+ }
+ public enum HttpStatusCode {
+ Accepted = 202,
+ Ambiguous = 300,
+ BadGateway = 502,
+ BadRequest = 400,
+ Conflict = 409,
+ Continue = 100,
+ Created = 201,
+ ExpectationFailed = 417,
+ Forbidden = 403,
+ Found = 302,
+ GatewayTimeout = 504,
+ Gone = 410,
+ HttpVersionNotSupported = 505,
+ InternalServerError = 500,
+ LengthRequired = 411,
+ MethodNotAllowed = 405,
+ Moved = 301,
+ MovedPermanently = 301,
+ MultipleChoices = 300,
+ NoContent = 204,
+ NonAuthoritativeInformation = 203,
+ NotAcceptable = 406,
+ NotFound = 404,
+ NotImplemented = 501,
+ NotModified = 304,
+ OK = 200,
+ PartialContent = 206,
+ PaymentRequired = 402,
+ PreconditionFailed = 412,
+ ProxyAuthenticationRequired = 407,
+ Redirect = 302,
+ RedirectKeepVerb = 307,
+ RedirectMethod = 303,
+ RequestedRangeNotSatisfiable = 416,
+ RequestEntityTooLarge = 413,
+ RequestTimeout = 408,
+ RequestUriTooLong = 414,
+ ResetContent = 205,
+ SeeOther = 303,
+ ServiceUnavailable = 503,
+ SwitchingProtocols = 101,
+ TemporaryRedirect = 307,
+ Unauthorized = 401,
+ UnsupportedMediaType = 415,
+ Unused = 306,
+ UpgradeRequired = 426,
+ UseProxy = 305,
+ }
+ public class HttpWebRequest : WebRequest {
+ public string Accept { get; set; }
+ public virtual bool AllowReadStreamBuffering { get; set; }
+ public override string ContentType { get; set; }
+ public int ContinueTimeout { get; set; }
+ public virtual CookieContainer CookieContainer { get; set; }
+ public override ICredentials Credentials { get; set; }
+ public virtual bool HaveResponse { get; }
+ public override WebHeaderCollection Headers { get; set; }
+ public override string Method { get; set; }
+ public override Uri RequestUri { get; }
+ public virtual bool SupportsCookieContainer { get; }
+ public override bool UseDefaultCredentials { get; set; }
+ public override void Abort();
+ public override IAsyncResult BeginGetRequestStream(AsyncCallback callback, object state);
+ public override IAsyncResult BeginGetResponse(AsyncCallback callback, object state);
+ public override Stream EndGetRequestStream(IAsyncResult asyncResult);
+ public override WebResponse EndGetResponse(IAsyncResult asyncResult);
+ }
+ public class HttpWebResponse : WebResponse {
+ public override long ContentLength { get; }
+ public override string ContentType { get; }
+ public virtual CookieCollection Cookies { get; }
+ public override WebHeaderCollection Headers { get; }
+ public virtual string Method { get; }
+ public override Uri ResponseUri { get; }
+ public virtual HttpStatusCode StatusCode { get; }
+ public virtual string StatusDescription { get; }
+ public override bool SupportsHeaders { get; }
+ protected override void Dispose(bool disposing);
+ public override Stream GetResponseStream();
+ }
+ public interface ICredentials {
+ NetworkCredential GetCredential(Uri uri, string authType);
+ }
+ public interface ICredentialsByHost {
+ NetworkCredential GetCredential(string host, int port, string authenticationType);
+ }
+ public class IPAddress {
+ public static readonly IPAddress Any;
+ public static readonly IPAddress Broadcast;
+ public static readonly IPAddress IPv6Any;
+ public static readonly IPAddress IPv6Loopback;
+ public static readonly IPAddress IPv6None;
+ public static readonly IPAddress Loopback;
+ public static readonly IPAddress None;
+ public IPAddress(byte[] address);
+ public IPAddress(byte[] address, long scopeid);
+ public IPAddress(long newAddress);
+ public AddressFamily AddressFamily { get; }
+ public bool IsIPv4MappedToIPv6 { get; }
+ public bool IsIPv6LinkLocal { get; }
+ public bool IsIPv6Multicast { get; }
+ public bool IsIPv6SiteLocal { get; }
+ public bool IsIPv6Teredo { get; }
+ public long ScopeId { get; set; }
+ public override bool Equals(object comparand);
+ public byte[] GetAddressBytes();
+ public override int GetHashCode();
+ public static short HostToNetworkOrder(short host);
+ public static int HostToNetworkOrder(int host);
+ public static long HostToNetworkOrder(long host);
+ public static bool IsLoopback(IPAddress address);
+ public IPAddress MapToIPv4();
+ public IPAddress MapToIPv6();
+ public static short NetworkToHostOrder(short network);
+ public static int NetworkToHostOrder(int network);
+ public static long NetworkToHostOrder(long network);
+ public static IPAddress Parse(string ipString);
+ public override string ToString();
+ public static bool TryParse(string ipString, out IPAddress address);
+ }
+ public class IPEndPoint : EndPoint {
+ public const int MaxPort = 65535;
+ public const int MinPort = 0;
+ public IPEndPoint(long address, int port);
+ public IPEndPoint(IPAddress address, int port);
+ public IPAddress Address { get; set; }
+ public override AddressFamily AddressFamily { get; }
+ public int Port { get; set; }
+ public override EndPoint Create(SocketAddress socketAddress);
+ public override bool Equals(object comparand);
+ public override int GetHashCode();
+ public override SocketAddress Serialize();
+ public override string ToString();
+ }
+ public class IPHostEntry {
+ public IPHostEntry();
+ public IPAddress[] AddressList { get; set; }
+ public string[] Aliases { get; set; }
+ public string HostName { get; set; }
+ }
+ public interface IWebProxy {
+ ICredentials Credentials { get; set; }
+ Uri GetProxy(Uri destination);
+ bool IsBypassed(Uri host);
+ }
+ public interface IWebRequestCreate {
+ WebRequest Create(Uri uri);
+ }
+ public class NetworkCredential : ICredentials, ICredentialsByHost {
+ public NetworkCredential();
+ public NetworkCredential(string userName, string password);
+ public NetworkCredential(string userName, string password, string domain);
+ public string Domain { get; set; }
+ public string Password { get; set; }
+ public string UserName { get; set; }
+ public NetworkCredential GetCredential(string host, int port, string authenticationType);
+ public NetworkCredential GetCredential(Uri uri, string authType);
+ }
+ public class ProtocolViolationException : InvalidOperationException {
+ public ProtocolViolationException();
+ public ProtocolViolationException(string message);
+ }
+ public class SocketAddress {
+ public SocketAddress(AddressFamily family);
+ public SocketAddress(AddressFamily family, int size);
+ public AddressFamily Family { get; }
+ public int Size { get; }
+ public byte this[int offset] { get; set; }
+ public override bool Equals(object comparand);
+ public override int GetHashCode();
+ public override string ToString();
+ }
+ public abstract class TransportContext {
+ protected TransportContext();
+ public abstract ChannelBinding GetChannelBinding(ChannelBindingKind kind);
+ }
+ public class WebException : InvalidOperationException {
+ public WebException();
+ public WebException(string message);
+ public WebException(string message, Exception innerException);
+ public WebException(string message, Exception innerException, WebExceptionStatus status, WebResponse response);
+ public WebException(string message, WebExceptionStatus status);
+ public WebResponse Response { get; }
+ public WebExceptionStatus Status { get; }
+ }
+ public enum WebExceptionStatus {
+ CacheEntryNotFound = 18,
+ ConnectFailure = 2,
+ ConnectionClosed = 8,
+ KeepAliveFailure = 12,
+ MessageLengthLimitExceeded = 17,
+ NameResolutionFailure = 1,
+ Pending = 13,
+ PipelineFailure = 5,
+ ProtocolError = 7,
+ ProxyNameResolutionFailure = 15,
+ ReceiveFailure = 3,
+ RequestCanceled = 6,
+ RequestProhibitedByCachePolicy = 19,
+ RequestProhibitedByProxy = 20,
+ SecureChannelFailure = 10,
+ SendFailure = 4,
+ ServerProtocolViolation = 11,
+ Success = 0,
+ Timeout = 14,
+ TrustFailure = 9,
+ UnknownError = 16,
+ }
+ public sealed class WebHeaderCollection : IEnumerable {
+ public WebHeaderCollection();
+ public string[] AllKeys { get; }
+ public int Count { get; }
+ public string this[HttpRequestHeader header] { get; set; }
+ public string this[HttpResponseHeader header] { get; set; }
+ public string this[string name] { get; set; }
+ public void Remove(string name);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public override string ToString();
+ }
+ public abstract class WebRequest {
+ protected WebRequest();
+ public abstract string ContentType { get; set; }
+ public virtual ICredentials Credentials { get; set; }
+ public static IWebProxy DefaultWebProxy { get; set; }
+ public abstract WebHeaderCollection Headers { get; set; }
+ public abstract string Method { get; set; }
+ public virtual IWebProxy Proxy { get; set; }
+ public abstract Uri RequestUri { get; }
+ public virtual bool UseDefaultCredentials { get; set; }
+ public abstract void Abort();
+ public abstract IAsyncResult BeginGetRequestStream(AsyncCallback callback, object state);
+ public abstract IAsyncResult BeginGetResponse(AsyncCallback callback, object state);
+ public static WebRequest Create(string requestUriString);
+ public static WebRequest Create(Uri requestUri);
+ public static HttpWebRequest CreateHttp(string requestUriString);
+ public static HttpWebRequest CreateHttp(Uri requestUri);
+ public abstract Stream EndGetRequestStream(IAsyncResult asyncResult);
+ public abstract WebResponse EndGetResponse(IAsyncResult asyncResult);
+ public virtual Task<Stream> GetRequestStreamAsync();
+ public virtual Task<WebResponse> GetResponseAsync();
+ public static bool RegisterPrefix(string prefix, IWebRequestCreate creator);
+ }
+ public abstract class WebResponse : IDisposable {
+ protected WebResponse();
+ public abstract long ContentLength { get; }
+ public abstract string ContentType { get; }
+ public virtual WebHeaderCollection Headers { get; }
+ public abstract Uri ResponseUri { get; }
+ public virtual bool SupportsHeaders { get; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public abstract Stream GetResponseStream();
+ }
+ public static class WebUtility {
+ public static string HtmlDecode(string value);
+ public static string HtmlEncode(string value);
+ public static string UrlDecode(string encodedValue);
+ public static byte[] UrlDecodeToBytes(byte[] encodedValue, int offset, int count);
+ public static string UrlEncode(string value);
+ public static byte[] UrlEncodeToBytes(byte[] value, int offset, int count);
+ }
+}
```
# System.Net
``` diff
+namespace System.Net {
+ public enum AuthenticationSchemes {
+ Anonymous = 32768,
+ Basic = 8,
+ Digest = 1,
+ IntegratedWindowsAuthentication = 6,
+ Negotiate = 2,
+ None = 0,
+ Ntlm = 4,
+ }
+ public sealed class Cookie {
+ public Cookie();
+ public Cookie(string name, string value);
+ public Cookie(string name, string value, string path);
+ public Cookie(string name, string value, string path, string domain);
+ public string Comment { get; set; }
+ public Uri CommentUri { get; set; }
+ public bool Discard { get; set; }
+ public string Domain { get; set; }
+ public bool Expired { get; set; }
+ public DateTime Expires { get; set; }
+ public bool HttpOnly { get; set; }
+ public string Name { get; set; }
+ public string Path { get; set; }
+ public string Port { get; set; }
+ public bool Secure { get; set; }
+ public DateTime TimeStamp { get; }
+ public string Value { get; set; }
+ public int Version { get; set; }
+ public override bool Equals(object comparand);
+ public override int GetHashCode();
+ public override string ToString();
+ }
+ public class CookieCollection : ICollection, IEnumerable {
+ public CookieCollection();
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public Cookie this[string name] { get; }
+ public void Add(Cookie cookie);
+ public void Add(CookieCollection cookies);
+ public IEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ }
+ public class CookieContainer {
+ public const int DefaultCookieLengthLimit = 4096;
+ public const int DefaultCookieLimit = 300;
+ public const int DefaultPerDomainCookieLimit = 20;
+ public CookieContainer();
+ public int Capacity { get; set; }
+ public int Count { get; }
+ public int MaxCookieSize { get; set; }
+ public int PerDomainCapacity { get; set; }
+ public void Add(Uri uri, Cookie cookie);
+ public void Add(Uri uri, CookieCollection cookies);
+ public string GetCookieHeader(Uri uri);
+ public CookieCollection GetCookies(Uri uri);
+ public void SetCookies(Uri uri, string cookieHeader);
+ }
+ public class CookieException : FormatException {
+ public CookieException();
+ }
+ public class CredentialCache : ICredentials, ICredentialsByHost, IEnumerable {
+ public CredentialCache();
+ public static ICredentials DefaultCredentials { get; }
+ public static NetworkCredential DefaultNetworkCredentials { get; }
+ public void Add(string host, int port, string authenticationType, NetworkCredential credential);
+ public void Add(Uri uriPrefix, string authType, NetworkCredential cred);
+ public NetworkCredential GetCredential(string host, int port, string authenticationType);
+ public NetworkCredential GetCredential(Uri uriPrefix, string authType);
+ public IEnumerator GetEnumerator();
+ public void Remove(string host, int port, string authenticationType);
+ public void Remove(Uri uriPrefix, string authType);
+ }
+ public enum DecompressionMethods {
+ Deflate = 2,
+ GZip = 1,
+ None = 0,
+ }
+ public static class Dns {
+ public static Task<IPAddress[]> GetHostAddressesAsync(string hostNameOrAddress);
+ public static Task<IPHostEntry> GetHostEntryAsync(IPAddress address);
+ public static Task<IPHostEntry> GetHostEntryAsync(string hostNameOrAddress);
+ public static string GetHostName();
+ }
+ public class DnsEndPoint : EndPoint {
+ public DnsEndPoint(string host, int port);
+ public DnsEndPoint(string host, int port, AddressFamily addressFamily);
+ public override AddressFamily AddressFamily { get; }
+ public string Host { get; }
+ public int Port { get; }
+ public override bool Equals(object comparand);
+ public override int GetHashCode();
+ public override string ToString();
+ }
+ public abstract class EndPoint {
+ protected EndPoint();
+ public virtual AddressFamily AddressFamily { get; }
+ public virtual EndPoint Create(SocketAddress socketAddress);
+ public virtual SocketAddress Serialize();
+ }
+ public enum HttpRequestHeader {
+ Accept = 20,
+ AcceptCharset = 21,
+ AcceptEncoding = 22,
+ AcceptLanguage = 23,
+ Allow = 10,
+ Authorization = 24,
+ CacheControl = 0,
+ Connection = 1,
+ ContentEncoding = 13,
+ ContentLanguage = 14,
+ ContentLength = 11,
+ ContentLocation = 15,
+ ContentMd5 = 16,
+ ContentRange = 17,
+ ContentType = 12,
+ Cookie = 25,
+ Date = 2,
+ Expect = 26,
+ Expires = 18,
+ From = 27,
+ Host = 28,
+ IfMatch = 29,
+ IfModifiedSince = 30,
+ IfNoneMatch = 31,
+ IfRange = 32,
+ IfUnmodifiedSince = 33,
+ KeepAlive = 3,
+ LastModified = 19,
+ MaxForwards = 34,
+ Pragma = 4,
+ ProxyAuthorization = 35,
+ Range = 37,
+ Referer = 36,
+ Te = 38,
+ Trailer = 5,
+ TransferEncoding = 6,
+ Translate = 39,
+ Upgrade = 7,
+ UserAgent = 40,
+ Via = 8,
+ Warning = 9,
+ }
+ public enum HttpResponseHeader {
+ AcceptRanges = 20,
+ Age = 21,
+ Allow = 10,
+ CacheControl = 0,
+ Connection = 1,
+ ContentEncoding = 13,
+ ContentLanguage = 14,
+ ContentLength = 11,
+ ContentLocation = 15,
+ ContentMd5 = 16,
+ ContentRange = 17,
+ ContentType = 12,
+ Date = 2,
+ ETag = 22,
+ Expires = 18,
+ KeepAlive = 3,
+ LastModified = 19,
+ Location = 23,
+ Pragma = 4,
+ ProxyAuthenticate = 24,
+ RetryAfter = 25,
+ Server = 26,
+ SetCookie = 27,
+ Trailer = 5,
+ TransferEncoding = 6,
+ Upgrade = 7,
+ Vary = 28,
+ Via = 8,
+ Warning = 9,
+ WwwAuthenticate = 29,
+ }
+ public enum HttpStatusCode {
+ Accepted = 202,
+ Ambiguous = 300,
+ BadGateway = 502,
+ BadRequest = 400,
+ Conflict = 409,
+ Continue = 100,
+ Created = 201,
+ ExpectationFailed = 417,
+ Forbidden = 403,
+ Found = 302,
+ GatewayTimeout = 504,
+ Gone = 410,
+ HttpVersionNotSupported = 505,
+ InternalServerError = 500,
+ LengthRequired = 411,
+ MethodNotAllowed = 405,
+ Moved = 301,
+ MovedPermanently = 301,
+ MultipleChoices = 300,
+ NoContent = 204,
+ NonAuthoritativeInformation = 203,
+ NotAcceptable = 406,
+ NotFound = 404,
+ NotImplemented = 501,
+ NotModified = 304,
+ OK = 200,
+ PartialContent = 206,
+ PaymentRequired = 402,
+ PreconditionFailed = 412,
+ ProxyAuthenticationRequired = 407,
+ Redirect = 302,
+ RedirectKeepVerb = 307,
+ RedirectMethod = 303,
+ RequestedRangeNotSatisfiable = 416,
+ RequestEntityTooLarge = 413,
+ RequestTimeout = 408,
+ RequestUriTooLong = 414,
+ ResetContent = 205,
+ SeeOther = 303,
+ ServiceUnavailable = 503,
+ SwitchingProtocols = 101,
+ TemporaryRedirect = 307,
+ Unauthorized = 401,
+ UnsupportedMediaType = 415,
+ Unused = 306,
+ UpgradeRequired = 426,
+ UseProxy = 305,
+ }
+ public class HttpWebRequest : WebRequest {
+ public string Accept { get; set; }
+ public virtual bool AllowReadStreamBuffering { get; set; }
+ public override string ContentType { get; set; }
+ public int ContinueTimeout { get; set; }
+ public virtual CookieContainer CookieContainer { get; set; }
+ public override ICredentials Credentials { get; set; }
+ public virtual bool HaveResponse { get; }
+ public override WebHeaderCollection Headers { get; set; }
+ public override string Method { get; set; }
+ public override Uri RequestUri { get; }
+ public virtual bool SupportsCookieContainer { get; }
+ public override bool UseDefaultCredentials { get; set; }
+ public override void Abort();
+ public override IAsyncResult BeginGetRequestStream(AsyncCallback callback, object state);
+ public override IAsyncResult BeginGetResponse(AsyncCallback callback, object state);
+ public override Stream EndGetRequestStream(IAsyncResult asyncResult);
+ public override WebResponse EndGetResponse(IAsyncResult asyncResult);
+ }
+ public class HttpWebResponse : WebResponse {
+ public override long ContentLength { get; }
+ public override string ContentType { get; }
+ public virtual CookieCollection Cookies { get; }
+ public override WebHeaderCollection Headers { get; }
+ public virtual string Method { get; }
+ public override Uri ResponseUri { get; }
+ public virtual HttpStatusCode StatusCode { get; }
+ public virtual string StatusDescription { get; }
+ public override bool SupportsHeaders { get; }
+ protected override void Dispose(bool disposing);
+ public override Stream GetResponseStream();
+ }
+ public interface ICredentials {
+ NetworkCredential GetCredential(Uri uri, string authType);
+ }
+ public interface ICredentialsByHost {
+ NetworkCredential GetCredential(string host, int port, string authenticationType);
+ }
+ public class IPAddress {
+ public static readonly IPAddress Any;
+ public static readonly IPAddress Broadcast;
+ public static readonly IPAddress IPv6Any;
+ public static readonly IPAddress IPv6Loopback;
+ public static readonly IPAddress IPv6None;
+ public static readonly IPAddress Loopback;
+ public static readonly IPAddress None;
+ public IPAddress(byte[] address);
+ public IPAddress(byte[] address, long scopeid);
+ public IPAddress(long newAddress);
+ public AddressFamily AddressFamily { get; }
+ public bool IsIPv4MappedToIPv6 { get; }
+ public bool IsIPv6LinkLocal { get; }
+ public bool IsIPv6Multicast { get; }
+ public bool IsIPv6SiteLocal { get; }
+ public bool IsIPv6Teredo { get; }
+ public long ScopeId { get; set; }
+ public override bool Equals(object comparand);
+ public byte[] GetAddressBytes();
+ public override int GetHashCode();
+ public static short HostToNetworkOrder(short host);
+ public static int HostToNetworkOrder(int host);
+ public static long HostToNetworkOrder(long host);
+ public static bool IsLoopback(IPAddress address);
+ public IPAddress MapToIPv4();
+ public IPAddress MapToIPv6();
+ public static short NetworkToHostOrder(short network);
+ public static int NetworkToHostOrder(int network);
+ public static long NetworkToHostOrder(long network);
+ public static IPAddress Parse(string ipString);
+ public override string ToString();
+ public static bool TryParse(string ipString, out IPAddress address);
+ }
+ public class IPEndPoint : EndPoint {
+ public const int MaxPort = 65535;
+ public const int MinPort = 0;
+ public IPEndPoint(long address, int port);
+ public IPEndPoint(IPAddress address, int port);
+ public IPAddress Address { get; set; }
+ public override AddressFamily AddressFamily { get; }
+ public int Port { get; set; }
+ public override EndPoint Create(SocketAddress socketAddress);
+ public override bool Equals(object comparand);
+ public override int GetHashCode();
+ public override SocketAddress Serialize();
+ public override string ToString();
+ }
+ public class IPHostEntry {
+ public IPHostEntry();
+ public IPAddress[] AddressList { get; set; }
+ public string[] Aliases { get; set; }
+ public string HostName { get; set; }
+ }
+ public interface IWebProxy {
+ ICredentials Credentials { get; set; }
+ Uri GetProxy(Uri destination);
+ bool IsBypassed(Uri host);
+ }
+ public interface IWebRequestCreate {
+ WebRequest Create(Uri uri);
+ }
+ public class NetworkCredential : ICredentials, ICredentialsByHost {
+ public NetworkCredential();
+ public NetworkCredential(string userName, string password);
+ public NetworkCredential(string userName, string password, string domain);
+ public string Domain { get; set; }
+ public string Password { get; set; }
+ public string UserName { get; set; }
+ public NetworkCredential GetCredential(string host, int port, string authenticationType);
+ public NetworkCredential GetCredential(Uri uri, string authType);
+ }
+ public class ProtocolViolationException : InvalidOperationException {
+ public ProtocolViolationException();
+ public ProtocolViolationException(string message);
+ }
+ public class SocketAddress {
+ public SocketAddress(AddressFamily family);
+ public SocketAddress(AddressFamily family, int size);
+ public AddressFamily Family { get; }
+ public int Size { get; }
+ public byte this[int offset] { get; set; }
+ public override bool Equals(object comparand);
+ public override int GetHashCode();
+ public override string ToString();
+ }
+ public abstract class TransportContext {
+ protected TransportContext();
+ public abstract ChannelBinding GetChannelBinding(ChannelBindingKind kind);
+ }
+ public class WebException : InvalidOperationException {
+ public WebException();
+ public WebException(string message);
+ public WebException(string message, Exception innerException);
+ public WebException(string message, Exception innerException, WebExceptionStatus status, WebResponse response);
+ public WebException(string message, WebExceptionStatus status);
+ public WebResponse Response { get; }
+ public WebExceptionStatus Status { get; }
+ }
+ public enum WebExceptionStatus {
+ CacheEntryNotFound = 18,
+ ConnectFailure = 2,
+ ConnectionClosed = 8,
+ KeepAliveFailure = 12,
+ MessageLengthLimitExceeded = 17,
+ NameResolutionFailure = 1,
+ Pending = 13,
+ PipelineFailure = 5,
+ ProtocolError = 7,
+ ProxyNameResolutionFailure = 15,
+ ReceiveFailure = 3,
+ RequestCanceled = 6,
+ RequestProhibitedByCachePolicy = 19,
+ RequestProhibitedByProxy = 20,
+ SecureChannelFailure = 10,
+ SendFailure = 4,
+ ServerProtocolViolation = 11,
+ Success = 0,
+ Timeout = 14,
+ TrustFailure = 9,
+ UnknownError = 16,
+ }
+ public sealed class WebHeaderCollection : IEnumerable {
+ public WebHeaderCollection();
+ public string[] AllKeys { get; }
+ public int Count { get; }
+ public string this[HttpRequestHeader header] { get; set; }
+ public string this[HttpResponseHeader header] { get; set; }
+ public string this[string name] { get; set; }
+ public void Remove(string name);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public override string ToString();
+ }
+ public abstract class WebRequest {
+ protected WebRequest();
+ public abstract string ContentType { get; set; }
+ public virtual ICredentials Credentials { get; set; }
+ public static IWebProxy DefaultWebProxy { get; set; }
+ public abstract WebHeaderCollection Headers { get; set; }
+ public abstract string Method { get; set; }
+ public virtual IWebProxy Proxy { get; set; }
+ public abstract Uri RequestUri { get; }
+ public virtual bool UseDefaultCredentials { get; set; }
+ public abstract void Abort();
+ public abstract IAsyncResult BeginGetRequestStream(AsyncCallback callback, object state);
+ public abstract IAsyncResult BeginGetResponse(AsyncCallback callback, object state);
+ public static WebRequest Create(string requestUriString);
+ public static WebRequest Create(Uri requestUri);
+ public static HttpWebRequest CreateHttp(string requestUriString);
+ public static HttpWebRequest CreateHttp(Uri requestUri);
+ public abstract Stream EndGetRequestStream(IAsyncResult asyncResult);
+ public abstract WebResponse EndGetResponse(IAsyncResult asyncResult);
+ public virtual Task<Stream> GetRequestStreamAsync();
+ public virtual Task<WebResponse> GetResponseAsync();
+ public static bool RegisterPrefix(string prefix, IWebRequestCreate creator);
+ }
+ public abstract class WebResponse : IDisposable {
+ protected WebResponse();
+ public abstract long ContentLength { get; }
+ public abstract string ContentType { get; }
+ public virtual WebHeaderCollection Headers { get; }
+ public abstract Uri ResponseUri { get; }
+ public virtual bool SupportsHeaders { get; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public abstract Stream GetResponseStream();
+ }
+ public static class WebUtility {
+ public static string HtmlDecode(string value);
+ public static string HtmlEncode(string value);
+ public static string UrlDecode(string encodedValue);
+ public static byte[] UrlDecodeToBytes(byte[] encodedValue, int offset, int count);
+ public static string UrlEncode(string value);
+ public static byte[] UrlEncodeToBytes(byte[] value, int offset, int count);
+ }
+}
```

File diff suppressed because it is too large Load Diff

View File

@@ -1,18 +1,18 @@
# System.Reflection.Context
``` diff
+namespace System.Reflection.Context {
+ public abstract class CustomReflectionContext : ReflectionContext {
+ protected CustomReflectionContext();
+ protected CustomReflectionContext(ReflectionContext source);
+ protected virtual IEnumerable<PropertyInfo> AddProperties(Type type);
+ protected PropertyInfo CreateProperty(Type propertyType, string name, Func<object, object> getter, Action<object, object> setter);
+ protected PropertyInfo CreateProperty(Type propertyType, string name, Func<object, object> getter, Action<object, object> setter, IEnumerable<Attribute> propertyCustomAttributes, IEnumerable<Attribute> getterCustomAttributes, IEnumerable<Attribute> setterCustomAttributes);
+ protected virtual IEnumerable<object> GetCustomAttributes(MemberInfo member, IEnumerable<object> declaredAttributes);
+ protected virtual IEnumerable<object> GetCustomAttributes(ParameterInfo parameter, IEnumerable<object> declaredAttributes);
+ public override Assembly MapAssembly(Assembly assembly);
+ public override TypeInfo MapType(TypeInfo type);
+ }
+}
```
# System.Reflection.Context
``` diff
+namespace System.Reflection.Context {
+ public abstract class CustomReflectionContext : ReflectionContext {
+ protected CustomReflectionContext();
+ protected CustomReflectionContext(ReflectionContext source);
+ protected virtual IEnumerable<PropertyInfo> AddProperties(Type type);
+ protected PropertyInfo CreateProperty(Type propertyType, string name, Func<object, object> getter, Action<object, object> setter);
+ protected PropertyInfo CreateProperty(Type propertyType, string name, Func<object, object> getter, Action<object, object> setter, IEnumerable<Attribute> propertyCustomAttributes, IEnumerable<Attribute> getterCustomAttributes, IEnumerable<Attribute> setterCustomAttributes);
+ protected virtual IEnumerable<object> GetCustomAttributes(MemberInfo member, IEnumerable<object> declaredAttributes);
+ protected virtual IEnumerable<object> GetCustomAttributes(ParameterInfo parameter, IEnumerable<object> declaredAttributes);
+ public override Assembly MapAssembly(Assembly assembly);
+ public override TypeInfo MapType(TypeInfo type);
+ }
+}
```

File diff suppressed because it is too large Load Diff

View File

@@ -1,160 +1,160 @@
# System.Reflection.Metadata.Ecma335
``` diff
+namespace System.Reflection.Metadata.Ecma335 {
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct EditAndContinueLogEntry : IEquatable<EditAndContinueLogEntry> {
+ public EditAndContinueLogEntry(EntityHandle handle, EditAndContinueOperation operation);
+ public EntityHandle Handle { get; }
+ public EditAndContinueOperation Operation { get; }
+ public override bool Equals(object obj);
+ public bool Equals(EditAndContinueLogEntry other);
+ public override int GetHashCode();
+ }
+ public enum EditAndContinueOperation {
+ AddEvent = 5,
+ AddField = 2,
+ AddMethod = 1,
+ AddParameter = 3,
+ AddProperty = 4,
+ Default = 0,
+ }
+ public static class ExportedTypeExtensions {
+ public static int GetTypeDefinitionId(this ExportedType exportedType);
+ }
+ public enum HeapIndex {
+ Blob = 2,
+ Guid = 3,
+ String = 1,
+ UserString = 0,
+ }
+ public sealed class MetadataAggregator {
+ public MetadataAggregator(IReadOnlyList<int> baseTableRowCounts, IReadOnlyList<int> baseHeapSizes, IReadOnlyList<MetadataReader> deltaReaders);
+ public MetadataAggregator(MetadataReader baseReader, IReadOnlyList<MetadataReader> deltaReaders);
+ public Handle GetGenerationHandle(Handle handle, out int generation);
+ }
+ public static class MetadataReaderExtensions {
+ public static IEnumerable<EditAndContinueLogEntry> GetEditAndContinueLogEntries(this MetadataReader reader);
+ public static IEnumerable<EntityHandle> GetEditAndContinueMapEntries(this MetadataReader reader);
+ public static int GetHeapMetadataOffset(this MetadataReader reader, HeapIndex heapIndex);
+ public static int GetHeapSize(this MetadataReader reader, HeapIndex heapIndex);
+ public static BlobHandle GetNextHandle(this MetadataReader reader, BlobHandle handle);
+ public static StringHandle GetNextHandle(this MetadataReader reader, StringHandle handle);
+ public static UserStringHandle GetNextHandle(this MetadataReader reader, UserStringHandle handle);
+ public static int GetTableMetadataOffset(this MetadataReader reader, TableIndex tableIndex);
+ public static int GetTableRowCount(this MetadataReader reader, TableIndex tableIndex);
+ public static int GetTableRowSize(this MetadataReader reader, TableIndex tableIndex);
+ public static IEnumerable<TypeDefinitionHandle> GetTypesWithEvents(this MetadataReader reader);
+ public static IEnumerable<TypeDefinitionHandle> GetTypesWithProperties(this MetadataReader reader);
+ }
+ public static class MetadataTokens {
+ public static readonly int HeapCount;
+ public static readonly int TableCount;
+ public static AssemblyFileHandle AssemblyFileHandle(int rowNumber);
+ public static AssemblyReferenceHandle AssemblyReferenceHandle(int rowNumber);
+ public static BlobHandle BlobHandle(int offset);
+ public static ConstantHandle ConstantHandle(int rowNumber);
+ public static CustomAttributeHandle CustomAttributeHandle(int rowNumber);
+ public static CustomDebugInformationHandle CustomDebugInformationHandle(int rowNumber);
+ public static DeclarativeSecurityAttributeHandle DeclarativeSecurityAttributeHandle(int rowNumber);
+ public static DocumentHandle DocumentHandle(int rowNumber);
+ public static DocumentNameBlobHandle DocumentNameBlobHandle(int offset);
+ public static EntityHandle EntityHandle(int token);
+ public static EntityHandle EntityHandle(TableIndex tableIndex, int rowNumber);
+ public static EventDefinitionHandle EventDefinitionHandle(int rowNumber);
+ public static ExportedTypeHandle ExportedTypeHandle(int rowNumber);
+ public static FieldDefinitionHandle FieldDefinitionHandle(int rowNumber);
+ public static GenericParameterConstraintHandle GenericParameterConstraintHandle(int rowNumber);
+ public static GenericParameterHandle GenericParameterHandle(int rowNumber);
+ public static int GetHeapOffset(Handle handle);
+ public static int GetHeapOffset(this MetadataReader reader, Handle handle);
+ public static int GetRowNumber(EntityHandle handle);
+ public static int GetRowNumber(this MetadataReader reader, EntityHandle handle);
+ public static int GetToken(EntityHandle handle);
+ public static int GetToken(Handle handle);
+ public static int GetToken(this MetadataReader reader, EntityHandle handle);
+ public static int GetToken(this MetadataReader reader, Handle handle);
+ public static GuidHandle GuidHandle(int offset);
+ public static Handle Handle(int token);
+ public static EntityHandle Handle(TableIndex tableIndex, int rowNumber);
+ public static ImportScopeHandle ImportScopeHandle(int rowNumber);
+ public static InterfaceImplementationHandle InterfaceImplementationHandle(int rowNumber);
+ public static LocalConstantHandle LocalConstantHandle(int rowNumber);
+ public static LocalScopeHandle LocalScopeHandle(int rowNumber);
+ public static LocalVariableHandle LocalVariableHandle(int rowNumber);
+ public static ManifestResourceHandle ManifestResourceHandle(int rowNumber);
+ public static MemberReferenceHandle MemberReferenceHandle(int rowNumber);
+ public static MethodDebugInformationHandle MethodDebugInformationHandle(int rowNumber);
+ public static MethodDefinitionHandle MethodDefinitionHandle(int rowNumber);
+ public static MethodImplementationHandle MethodImplementationHandle(int rowNumber);
+ public static MethodSpecificationHandle MethodSpecificationHandle(int rowNumber);
+ public static ModuleReferenceHandle ModuleReferenceHandle(int rowNumber);
+ public static ParameterHandle ParameterHandle(int rowNumber);
+ public static PropertyDefinitionHandle PropertyDefinitionHandle(int rowNumber);
+ public static StandaloneSignatureHandle StandaloneSignatureHandle(int rowNumber);
+ public static StringHandle StringHandle(int offset);
+ public static bool TryGetHeapIndex(HandleKind type, out HeapIndex index);
+ public static bool TryGetTableIndex(HandleKind type, out TableIndex index);
+ public static TypeDefinitionHandle TypeDefinitionHandle(int rowNumber);
+ public static TypeReferenceHandle TypeReferenceHandle(int rowNumber);
+ public static TypeSpecificationHandle TypeSpecificationHandle(int rowNumber);
+ public static UserStringHandle UserStringHandle(int offset);
+ }
+ public enum TableIndex : byte {
+ Assembly = (byte)32,
+ AssemblyOS = (byte)34,
+ AssemblyProcessor = (byte)33,
+ AssemblyRef = (byte)35,
+ AssemblyRefOS = (byte)37,
+ AssemblyRefProcessor = (byte)36,
+ ClassLayout = (byte)15,
+ Constant = (byte)11,
+ CustomAttribute = (byte)12,
+ CustomDebugInformation = (byte)55,
+ DeclSecurity = (byte)14,
+ Document = (byte)48,
+ EncLog = (byte)30,
+ EncMap = (byte)31,
+ Event = (byte)20,
+ EventMap = (byte)18,
+ EventPtr = (byte)19,
+ ExportedType = (byte)39,
+ Field = (byte)4,
+ FieldLayout = (byte)16,
+ FieldMarshal = (byte)13,
+ FieldPtr = (byte)3,
+ FieldRva = (byte)29,
+ File = (byte)38,
+ GenericParam = (byte)42,
+ GenericParamConstraint = (byte)44,
+ ImplMap = (byte)28,
+ ImportScope = (byte)53,
+ InterfaceImpl = (byte)9,
+ LocalConstant = (byte)52,
+ LocalScope = (byte)50,
+ LocalVariable = (byte)51,
+ ManifestResource = (byte)40,
+ MemberRef = (byte)10,
+ MethodDebugInformation = (byte)49,
+ MethodDef = (byte)6,
+ MethodImpl = (byte)25,
+ MethodPtr = (byte)5,
+ MethodSemantics = (byte)24,
+ MethodSpec = (byte)43,
+ Module = (byte)0,
+ ModuleRef = (byte)26,
+ NestedClass = (byte)41,
+ Param = (byte)8,
+ ParamPtr = (byte)7,
+ Property = (byte)23,
+ PropertyMap = (byte)21,
+ PropertyPtr = (byte)22,
+ StandAloneSig = (byte)17,
+ StateMachineMethod = (byte)54,
+ TypeDef = (byte)2,
+ TypeRef = (byte)1,
+ TypeSpec = (byte)27,
+ }
+}
```
# System.Reflection.Metadata.Ecma335
``` diff
+namespace System.Reflection.Metadata.Ecma335 {
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct EditAndContinueLogEntry : IEquatable<EditAndContinueLogEntry> {
+ public EditAndContinueLogEntry(EntityHandle handle, EditAndContinueOperation operation);
+ public EntityHandle Handle { get; }
+ public EditAndContinueOperation Operation { get; }
+ public override bool Equals(object obj);
+ public bool Equals(EditAndContinueLogEntry other);
+ public override int GetHashCode();
+ }
+ public enum EditAndContinueOperation {
+ AddEvent = 5,
+ AddField = 2,
+ AddMethod = 1,
+ AddParameter = 3,
+ AddProperty = 4,
+ Default = 0,
+ }
+ public static class ExportedTypeExtensions {
+ public static int GetTypeDefinitionId(this ExportedType exportedType);
+ }
+ public enum HeapIndex {
+ Blob = 2,
+ Guid = 3,
+ String = 1,
+ UserString = 0,
+ }
+ public sealed class MetadataAggregator {
+ public MetadataAggregator(IReadOnlyList<int> baseTableRowCounts, IReadOnlyList<int> baseHeapSizes, IReadOnlyList<MetadataReader> deltaReaders);
+ public MetadataAggregator(MetadataReader baseReader, IReadOnlyList<MetadataReader> deltaReaders);
+ public Handle GetGenerationHandle(Handle handle, out int generation);
+ }
+ public static class MetadataReaderExtensions {
+ public static IEnumerable<EditAndContinueLogEntry> GetEditAndContinueLogEntries(this MetadataReader reader);
+ public static IEnumerable<EntityHandle> GetEditAndContinueMapEntries(this MetadataReader reader);
+ public static int GetHeapMetadataOffset(this MetadataReader reader, HeapIndex heapIndex);
+ public static int GetHeapSize(this MetadataReader reader, HeapIndex heapIndex);
+ public static BlobHandle GetNextHandle(this MetadataReader reader, BlobHandle handle);
+ public static StringHandle GetNextHandle(this MetadataReader reader, StringHandle handle);
+ public static UserStringHandle GetNextHandle(this MetadataReader reader, UserStringHandle handle);
+ public static int GetTableMetadataOffset(this MetadataReader reader, TableIndex tableIndex);
+ public static int GetTableRowCount(this MetadataReader reader, TableIndex tableIndex);
+ public static int GetTableRowSize(this MetadataReader reader, TableIndex tableIndex);
+ public static IEnumerable<TypeDefinitionHandle> GetTypesWithEvents(this MetadataReader reader);
+ public static IEnumerable<TypeDefinitionHandle> GetTypesWithProperties(this MetadataReader reader);
+ }
+ public static class MetadataTokens {
+ public static readonly int HeapCount;
+ public static readonly int TableCount;
+ public static AssemblyFileHandle AssemblyFileHandle(int rowNumber);
+ public static AssemblyReferenceHandle AssemblyReferenceHandle(int rowNumber);
+ public static BlobHandle BlobHandle(int offset);
+ public static ConstantHandle ConstantHandle(int rowNumber);
+ public static CustomAttributeHandle CustomAttributeHandle(int rowNumber);
+ public static CustomDebugInformationHandle CustomDebugInformationHandle(int rowNumber);
+ public static DeclarativeSecurityAttributeHandle DeclarativeSecurityAttributeHandle(int rowNumber);
+ public static DocumentHandle DocumentHandle(int rowNumber);
+ public static DocumentNameBlobHandle DocumentNameBlobHandle(int offset);
+ public static EntityHandle EntityHandle(int token);
+ public static EntityHandle EntityHandle(TableIndex tableIndex, int rowNumber);
+ public static EventDefinitionHandle EventDefinitionHandle(int rowNumber);
+ public static ExportedTypeHandle ExportedTypeHandle(int rowNumber);
+ public static FieldDefinitionHandle FieldDefinitionHandle(int rowNumber);
+ public static GenericParameterConstraintHandle GenericParameterConstraintHandle(int rowNumber);
+ public static GenericParameterHandle GenericParameterHandle(int rowNumber);
+ public static int GetHeapOffset(Handle handle);
+ public static int GetHeapOffset(this MetadataReader reader, Handle handle);
+ public static int GetRowNumber(EntityHandle handle);
+ public static int GetRowNumber(this MetadataReader reader, EntityHandle handle);
+ public static int GetToken(EntityHandle handle);
+ public static int GetToken(Handle handle);
+ public static int GetToken(this MetadataReader reader, EntityHandle handle);
+ public static int GetToken(this MetadataReader reader, Handle handle);
+ public static GuidHandle GuidHandle(int offset);
+ public static Handle Handle(int token);
+ public static EntityHandle Handle(TableIndex tableIndex, int rowNumber);
+ public static ImportScopeHandle ImportScopeHandle(int rowNumber);
+ public static InterfaceImplementationHandle InterfaceImplementationHandle(int rowNumber);
+ public static LocalConstantHandle LocalConstantHandle(int rowNumber);
+ public static LocalScopeHandle LocalScopeHandle(int rowNumber);
+ public static LocalVariableHandle LocalVariableHandle(int rowNumber);
+ public static ManifestResourceHandle ManifestResourceHandle(int rowNumber);
+ public static MemberReferenceHandle MemberReferenceHandle(int rowNumber);
+ public static MethodDebugInformationHandle MethodDebugInformationHandle(int rowNumber);
+ public static MethodDefinitionHandle MethodDefinitionHandle(int rowNumber);
+ public static MethodImplementationHandle MethodImplementationHandle(int rowNumber);
+ public static MethodSpecificationHandle MethodSpecificationHandle(int rowNumber);
+ public static ModuleReferenceHandle ModuleReferenceHandle(int rowNumber);
+ public static ParameterHandle ParameterHandle(int rowNumber);
+ public static PropertyDefinitionHandle PropertyDefinitionHandle(int rowNumber);
+ public static StandaloneSignatureHandle StandaloneSignatureHandle(int rowNumber);
+ public static StringHandle StringHandle(int offset);
+ public static bool TryGetHeapIndex(HandleKind type, out HeapIndex index);
+ public static bool TryGetTableIndex(HandleKind type, out TableIndex index);
+ public static TypeDefinitionHandle TypeDefinitionHandle(int rowNumber);
+ public static TypeReferenceHandle TypeReferenceHandle(int rowNumber);
+ public static TypeSpecificationHandle TypeSpecificationHandle(int rowNumber);
+ public static UserStringHandle UserStringHandle(int offset);
+ }
+ public enum TableIndex : byte {
+ Assembly = (byte)32,
+ AssemblyOS = (byte)34,
+ AssemblyProcessor = (byte)33,
+ AssemblyRef = (byte)35,
+ AssemblyRefOS = (byte)37,
+ AssemblyRefProcessor = (byte)36,
+ ClassLayout = (byte)15,
+ Constant = (byte)11,
+ CustomAttribute = (byte)12,
+ CustomDebugInformation = (byte)55,
+ DeclSecurity = (byte)14,
+ Document = (byte)48,
+ EncLog = (byte)30,
+ EncMap = (byte)31,
+ Event = (byte)20,
+ EventMap = (byte)18,
+ EventPtr = (byte)19,
+ ExportedType = (byte)39,
+ Field = (byte)4,
+ FieldLayout = (byte)16,
+ FieldMarshal = (byte)13,
+ FieldPtr = (byte)3,
+ FieldRva = (byte)29,
+ File = (byte)38,
+ GenericParam = (byte)42,
+ GenericParamConstraint = (byte)44,
+ ImplMap = (byte)28,
+ ImportScope = (byte)53,
+ InterfaceImpl = (byte)9,
+ LocalConstant = (byte)52,
+ LocalScope = (byte)50,
+ LocalVariable = (byte)51,
+ ManifestResource = (byte)40,
+ MemberRef = (byte)10,
+ MethodDebugInformation = (byte)49,
+ MethodDef = (byte)6,
+ MethodImpl = (byte)25,
+ MethodPtr = (byte)5,
+ MethodSemantics = (byte)24,
+ MethodSpec = (byte)43,
+ Module = (byte)0,
+ ModuleRef = (byte)26,
+ NestedClass = (byte)41,
+ Param = (byte)8,
+ ParamPtr = (byte)7,
+ Property = (byte)23,
+ PropertyMap = (byte)21,
+ PropertyPtr = (byte)22,
+ StandAloneSig = (byte)17,
+ StateMachineMethod = (byte)54,
+ TypeDef = (byte)2,
+ TypeRef = (byte)1,
+ TypeSpec = (byte)27,
+ }
+}
```

View File

@@ -1,297 +1,297 @@
# System.Reflection.PortableExecutable
``` diff
+namespace System.Reflection.PortableExecutable {
+ public enum Characteristics : ushort {
+ AggressiveWSTrim = (ushort)16,
+ Bit32Machine = (ushort)256,
+ BytesReversedHi = (ushort)32768,
+ BytesReversedLo = (ushort)128,
+ DebugStripped = (ushort)512,
+ Dll = (ushort)8192,
+ ExecutableImage = (ushort)2,
+ LargeAddressAware = (ushort)32,
+ LineNumsStripped = (ushort)4,
+ LocalSymsStripped = (ushort)8,
+ NetRunFromSwap = (ushort)2048,
+ RelocsStripped = (ushort)1,
+ RemovableRunFromSwap = (ushort)1024,
+ System = (ushort)4096,
+ UpSystemOnly = (ushort)16384,
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct CodeViewDebugDirectoryData {
+ public int Age { get; }
+ public Guid Guid { get; }
+ public string Path { get; }
+ }
+ public sealed class CoffHeader {
+ public Characteristics Characteristics { get; }
+ public Machine Machine { get; }
+ public short NumberOfSections { get; }
+ public int NumberOfSymbols { get; }
+ public int PointerToSymbolTable { get; }
+ public short SizeOfOptionalHeader { get; }
+ public int TimeDateStamp { get; }
+ }
+ public enum CorFlags {
+ ILLibrary = 4,
+ ILOnly = 1,
+ NativeEntryPoint = 16,
+ Prefers32Bit = 131072,
+ Requires32Bit = 2,
+ StrongNameSigned = 8,
+ TrackDebugData = 65536,
+ }
+ public sealed class CorHeader {
+ public DirectoryEntry CodeManagerTableDirectory { get; }
+ public int EntryPointTokenOrRelativeVirtualAddress { get; }
+ public DirectoryEntry ExportAddressTableJumpsDirectory { get; }
+ public CorFlags Flags { get; }
+ public ushort MajorRuntimeVersion { get; }
+ public DirectoryEntry ManagedNativeHeaderDirectory { get; }
+ public DirectoryEntry MetadataDirectory { get; }
+ public ushort MinorRuntimeVersion { get; }
+ public DirectoryEntry ResourcesDirectory { get; }
+ public DirectoryEntry StrongNameSignatureDirectory { get; }
+ public DirectoryEntry VtableFixupsDirectory { get; }
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct DebugDirectoryEntry {
+ public DebugDirectoryEntry(uint stamp, ushort majorVersion, ushort minorVersion, DebugDirectoryEntryType type, int dataSize, int dataRelativeVirtualAddress, int dataPointer);
+ public int DataPointer { get; }
+ public int DataRelativeVirtualAddress { get; }
+ public int DataSize { get; }
+ public ushort MajorVersion { get; }
+ public ushort MinorVersion { get; }
+ public uint Stamp { get; }
+ public DebugDirectoryEntryType Type { get; }
+ }
+ public enum DebugDirectoryEntryType {
+ CodeView = 2,
+ Coff = 1,
+ Reproducible = 16,
+ Unknown = 0,
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct DirectoryEntry {
+ public readonly int RelativeVirtualAddress;
+ public readonly int Size;
+ public DirectoryEntry(int relativeVirtualAddress, int size);
+ }
+ public enum DllCharacteristics : ushort {
+ AppContainer = (ushort)4096,
+ DynamicBase = (ushort)64,
+ HighEntropyVirtualAddressSpace = (ushort)32,
+ NoBind = (ushort)2048,
+ NoIsolation = (ushort)512,
+ NoSeh = (ushort)1024,
+ NxCompatible = (ushort)256,
+ ProcessInit = (ushort)1,
+ ProcessTerm = (ushort)2,
+ TerminalServerAware = (ushort)32768,
+ ThreadInit = (ushort)4,
+ ThreadTerm = (ushort)8,
+ WdmDriver = (ushort)8192,
+ }
+ public enum Machine : ushort {
+ Alpha = (ushort)388,
+ Alpha64 = (ushort)644,
+ AM33 = (ushort)467,
+ Amd64 = (ushort)34404,
+ Arm = (ushort)448,
+ ArmThumb2 = (ushort)452,
+ Ebc = (ushort)3772,
+ I386 = (ushort)332,
+ IA64 = (ushort)512,
+ M32R = (ushort)36929,
+ MIPS16 = (ushort)614,
+ MipsFpu = (ushort)870,
+ MipsFpu16 = (ushort)1126,
+ PowerPC = (ushort)496,
+ PowerPCFP = (ushort)497,
+ SH3 = (ushort)418,
+ SH3Dsp = (ushort)419,
+ SH3E = (ushort)420,
+ SH4 = (ushort)422,
+ SH5 = (ushort)424,
+ Thumb = (ushort)450,
+ Tricore = (ushort)1312,
+ Unknown = (ushort)0,
+ WceMipsV2 = (ushort)361,
+ }
+ public sealed class PEHeader {
+ public int AddressOfEntryPoint { get; }
+ public int BaseOfCode { get; }
+ public int BaseOfData { get; }
+ public DirectoryEntry BaseRelocationTableDirectory { get; }
+ public DirectoryEntry BoundImportTableDirectory { get; }
+ public DirectoryEntry CertificateTableDirectory { get; }
+ public uint CheckSum { get; }
+ public DirectoryEntry CopyrightTableDirectory { get; }
+ public DirectoryEntry CorHeaderTableDirectory { get; }
+ public DirectoryEntry DebugTableDirectory { get; }
+ public DirectoryEntry DelayImportTableDirectory { get; }
+ public DllCharacteristics DllCharacteristics { get; }
+ public DirectoryEntry ExceptionTableDirectory { get; }
+ public DirectoryEntry ExportTableDirectory { get; }
+ public int FileAlignment { get; }
+ public DirectoryEntry GlobalPointerTableDirectory { get; }
+ public ulong ImageBase { get; }
+ public DirectoryEntry ImportAddressTableDirectory { get; }
+ public DirectoryEntry ImportTableDirectory { get; }
+ public DirectoryEntry LoadConfigTableDirectory { get; }
+ public PEMagic Magic { get; }
+ public ushort MajorImageVersion { get; }
+ public byte MajorLinkerVersion { get; }
+ public ushort MajorOperatingSystemVersion { get; }
+ public ushort MajorSubsystemVersion { get; }
+ public ushort MinorImageVersion { get; }
+ public byte MinorLinkerVersion { get; }
+ public ushort MinorOperatingSystemVersion { get; }
+ public ushort MinorSubsystemVersion { get; }
+ public int NumberOfRvaAndSizes { get; }
+ public DirectoryEntry ResourceTableDirectory { get; }
+ public int SectionAlignment { get; }
+ public int SizeOfCode { get; }
+ public int SizeOfHeaders { get; }
+ public ulong SizeOfHeapCommit { get; }
+ public ulong SizeOfHeapReserve { get; }
+ public int SizeOfImage { get; }
+ public int SizeOfInitializedData { get; }
+ public ulong SizeOfStackCommit { get; }
+ public ulong SizeOfStackReserve { get; }
+ public int SizeOfUninitializedData { get; }
+ public Subsystem Subsystem { get; }
+ public DirectoryEntry ThreadLocalStorageTableDirectory { get; }
+ }
+ public sealed class PEHeaders {
+ public PEHeaders(Stream peStream);
+ public PEHeaders(Stream peStream, int size);
+ public CoffHeader CoffHeader { get; }
+ public int CoffHeaderStartOffset { get; }
+ public CorHeader CorHeader { get; }
+ public int CorHeaderStartOffset { get; }
+ public bool IsCoffOnly { get; }
+ public bool IsConsoleApplication { get; }
+ public bool IsDll { get; }
+ public bool IsExe { get; }
+ public int MetadataSize { get; }
+ public int MetadataStartOffset { get; }
+ public PEHeader PEHeader { get; }
+ public int PEHeaderStartOffset { get; }
+ public ImmutableArray<SectionHeader> SectionHeaders { get; }
+ public int GetContainingSectionIndex(int relativeVirtualAddress);
+ public bool TryGetDirectoryOffset(DirectoryEntry directory, out int offset);
+ }
+ public enum PEMagic : ushort {
+ PE32 = (ushort)267,
+ PE32Plus = (ushort)523,
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct PEMemoryBlock {
+ public int Length { get; }
+ public unsafe byte* Pointer { get; }
+ public ImmutableArray<byte> GetContent();
+ }
+ public sealed class PEReader : IDisposable {
+ public unsafe PEReader(byte* peImage, int size);
+ public PEReader(ImmutableArray<byte> peImage);
+ public PEReader(Stream peStream);
+ public PEReader(Stream peStream, PEStreamOptions options);
+ public PEReader(Stream peStream, PEStreamOptions options, int size);
+ public bool HasMetadata { get; }
+ public bool IsEntireImageAvailable { get; }
+ public PEHeaders PEHeaders { get; }
+ public void Dispose();
+ public PEMemoryBlock GetEntireImage();
+ public PEMemoryBlock GetMetadata();
+ public PEMemoryBlock GetSectionData(int relativeVirtualAddress);
+ public CodeViewDebugDirectoryData ReadCodeViewDebugDirectoryData(DebugDirectoryEntry entry);
+ public ImmutableArray<DebugDirectoryEntry> ReadDebugDirectory();
+ }
+ public enum PEStreamOptions {
+ Default = 0,
+ LeaveOpen = 1,
+ PrefetchEntireImage = 4,
+ PrefetchMetadata = 2,
+ }
+ public enum SectionCharacteristics : uint {
+ Align1024Bytes = (uint)11534336,
+ Align128Bytes = (uint)8388608,
+ Align16Bytes = (uint)5242880,
+ Align1Bytes = (uint)1048576,
+ Align2048Bytes = (uint)12582912,
+ Align256Bytes = (uint)9437184,
+ Align2Bytes = (uint)2097152,
+ Align32Bytes = (uint)6291456,
+ Align4096Bytes = (uint)13631488,
+ Align4Bytes = (uint)3145728,
+ Align512Bytes = (uint)10485760,
+ Align64Bytes = (uint)7340032,
+ Align8192Bytes = (uint)14680064,
+ Align8Bytes = (uint)4194304,
+ AlignMask = (uint)15728640,
+ ContainsCode = (uint)32,
+ ContainsInitializedData = (uint)64,
+ ContainsUninitializedData = (uint)128,
+ GPRel = (uint)32768,
+ LinkerComdat = (uint)4096,
+ LinkerInfo = (uint)512,
+ LinkerNRelocOvfl = (uint)16777216,
+ LinkerOther = (uint)256,
+ LinkerRemove = (uint)2048,
+ Mem16Bit = (uint)131072,
+ MemDiscardable = (uint)33554432,
+ MemExecute = (uint)536870912,
+ MemFardata = (uint)32768,
+ MemLocked = (uint)262144,
+ MemNotCached = (uint)67108864,
+ MemNotPaged = (uint)134217728,
+ MemPreload = (uint)524288,
+ MemProtected = (uint)16384,
+ MemPurgeable = (uint)131072,
+ MemRead = (uint)1073741824,
+ MemShared = (uint)268435456,
+ MemSysheap = (uint)65536,
+ MemWrite = (uint)2147483648,
+ NoDeferSpecExc = (uint)16384,
+ TypeCopy = (uint)16,
+ TypeDSect = (uint)1,
+ TypeGroup = (uint)4,
+ TypeNoLoad = (uint)2,
+ TypeNoPad = (uint)8,
+ TypeOver = (uint)1024,
+ TypeReg = (uint)0,
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct SectionHeader {
+ public string Name { get; }
+ public ushort NumberOfLineNumbers { get; }
+ public ushort NumberOfRelocations { get; }
+ public int PointerToLineNumbers { get; }
+ public int PointerToRawData { get; }
+ public int PointerToRelocations { get; }
+ public SectionCharacteristics SectionCharacteristics { get; }
+ public int SizeOfRawData { get; }
+ public int VirtualAddress { get; }
+ public int VirtualSize { get; }
+ }
+ public enum Subsystem : ushort {
+ EfiApplication = (ushort)10,
+ EfiBootServiceDriver = (ushort)11,
+ EfiRom = (ushort)13,
+ EfiRuntimeDriver = (ushort)12,
+ Native = (ushort)1,
+ NativeWindows = (ushort)8,
+ OS2Cui = (ushort)5,
+ PosixCui = (ushort)7,
+ Unknown = (ushort)0,
+ WindowsCEGui = (ushort)9,
+ WindowsCui = (ushort)3,
+ WindowsGui = (ushort)2,
+ Xbox = (ushort)14,
+ }
+}
```
# System.Reflection.PortableExecutable
``` diff
+namespace System.Reflection.PortableExecutable {
+ public enum Characteristics : ushort {
+ AggressiveWSTrim = (ushort)16,
+ Bit32Machine = (ushort)256,
+ BytesReversedHi = (ushort)32768,
+ BytesReversedLo = (ushort)128,
+ DebugStripped = (ushort)512,
+ Dll = (ushort)8192,
+ ExecutableImage = (ushort)2,
+ LargeAddressAware = (ushort)32,
+ LineNumsStripped = (ushort)4,
+ LocalSymsStripped = (ushort)8,
+ NetRunFromSwap = (ushort)2048,
+ RelocsStripped = (ushort)1,
+ RemovableRunFromSwap = (ushort)1024,
+ System = (ushort)4096,
+ UpSystemOnly = (ushort)16384,
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct CodeViewDebugDirectoryData {
+ public int Age { get; }
+ public Guid Guid { get; }
+ public string Path { get; }
+ }
+ public sealed class CoffHeader {
+ public Characteristics Characteristics { get; }
+ public Machine Machine { get; }
+ public short NumberOfSections { get; }
+ public int NumberOfSymbols { get; }
+ public int PointerToSymbolTable { get; }
+ public short SizeOfOptionalHeader { get; }
+ public int TimeDateStamp { get; }
+ }
+ public enum CorFlags {
+ ILLibrary = 4,
+ ILOnly = 1,
+ NativeEntryPoint = 16,
+ Prefers32Bit = 131072,
+ Requires32Bit = 2,
+ StrongNameSigned = 8,
+ TrackDebugData = 65536,
+ }
+ public sealed class CorHeader {
+ public DirectoryEntry CodeManagerTableDirectory { get; }
+ public int EntryPointTokenOrRelativeVirtualAddress { get; }
+ public DirectoryEntry ExportAddressTableJumpsDirectory { get; }
+ public CorFlags Flags { get; }
+ public ushort MajorRuntimeVersion { get; }
+ public DirectoryEntry ManagedNativeHeaderDirectory { get; }
+ public DirectoryEntry MetadataDirectory { get; }
+ public ushort MinorRuntimeVersion { get; }
+ public DirectoryEntry ResourcesDirectory { get; }
+ public DirectoryEntry StrongNameSignatureDirectory { get; }
+ public DirectoryEntry VtableFixupsDirectory { get; }
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct DebugDirectoryEntry {
+ public DebugDirectoryEntry(uint stamp, ushort majorVersion, ushort minorVersion, DebugDirectoryEntryType type, int dataSize, int dataRelativeVirtualAddress, int dataPointer);
+ public int DataPointer { get; }
+ public int DataRelativeVirtualAddress { get; }
+ public int DataSize { get; }
+ public ushort MajorVersion { get; }
+ public ushort MinorVersion { get; }
+ public uint Stamp { get; }
+ public DebugDirectoryEntryType Type { get; }
+ }
+ public enum DebugDirectoryEntryType {
+ CodeView = 2,
+ Coff = 1,
+ Reproducible = 16,
+ Unknown = 0,
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct DirectoryEntry {
+ public readonly int RelativeVirtualAddress;
+ public readonly int Size;
+ public DirectoryEntry(int relativeVirtualAddress, int size);
+ }
+ public enum DllCharacteristics : ushort {
+ AppContainer = (ushort)4096,
+ DynamicBase = (ushort)64,
+ HighEntropyVirtualAddressSpace = (ushort)32,
+ NoBind = (ushort)2048,
+ NoIsolation = (ushort)512,
+ NoSeh = (ushort)1024,
+ NxCompatible = (ushort)256,
+ ProcessInit = (ushort)1,
+ ProcessTerm = (ushort)2,
+ TerminalServerAware = (ushort)32768,
+ ThreadInit = (ushort)4,
+ ThreadTerm = (ushort)8,
+ WdmDriver = (ushort)8192,
+ }
+ public enum Machine : ushort {
+ Alpha = (ushort)388,
+ Alpha64 = (ushort)644,
+ AM33 = (ushort)467,
+ Amd64 = (ushort)34404,
+ Arm = (ushort)448,
+ ArmThumb2 = (ushort)452,
+ Ebc = (ushort)3772,
+ I386 = (ushort)332,
+ IA64 = (ushort)512,
+ M32R = (ushort)36929,
+ MIPS16 = (ushort)614,
+ MipsFpu = (ushort)870,
+ MipsFpu16 = (ushort)1126,
+ PowerPC = (ushort)496,
+ PowerPCFP = (ushort)497,
+ SH3 = (ushort)418,
+ SH3Dsp = (ushort)419,
+ SH3E = (ushort)420,
+ SH4 = (ushort)422,
+ SH5 = (ushort)424,
+ Thumb = (ushort)450,
+ Tricore = (ushort)1312,
+ Unknown = (ushort)0,
+ WceMipsV2 = (ushort)361,
+ }
+ public sealed class PEHeader {
+ public int AddressOfEntryPoint { get; }
+ public int BaseOfCode { get; }
+ public int BaseOfData { get; }
+ public DirectoryEntry BaseRelocationTableDirectory { get; }
+ public DirectoryEntry BoundImportTableDirectory { get; }
+ public DirectoryEntry CertificateTableDirectory { get; }
+ public uint CheckSum { get; }
+ public DirectoryEntry CopyrightTableDirectory { get; }
+ public DirectoryEntry CorHeaderTableDirectory { get; }
+ public DirectoryEntry DebugTableDirectory { get; }
+ public DirectoryEntry DelayImportTableDirectory { get; }
+ public DllCharacteristics DllCharacteristics { get; }
+ public DirectoryEntry ExceptionTableDirectory { get; }
+ public DirectoryEntry ExportTableDirectory { get; }
+ public int FileAlignment { get; }
+ public DirectoryEntry GlobalPointerTableDirectory { get; }
+ public ulong ImageBase { get; }
+ public DirectoryEntry ImportAddressTableDirectory { get; }
+ public DirectoryEntry ImportTableDirectory { get; }
+ public DirectoryEntry LoadConfigTableDirectory { get; }
+ public PEMagic Magic { get; }
+ public ushort MajorImageVersion { get; }
+ public byte MajorLinkerVersion { get; }
+ public ushort MajorOperatingSystemVersion { get; }
+ public ushort MajorSubsystemVersion { get; }
+ public ushort MinorImageVersion { get; }
+ public byte MinorLinkerVersion { get; }
+ public ushort MinorOperatingSystemVersion { get; }
+ public ushort MinorSubsystemVersion { get; }
+ public int NumberOfRvaAndSizes { get; }
+ public DirectoryEntry ResourceTableDirectory { get; }
+ public int SectionAlignment { get; }
+ public int SizeOfCode { get; }
+ public int SizeOfHeaders { get; }
+ public ulong SizeOfHeapCommit { get; }
+ public ulong SizeOfHeapReserve { get; }
+ public int SizeOfImage { get; }
+ public int SizeOfInitializedData { get; }
+ public ulong SizeOfStackCommit { get; }
+ public ulong SizeOfStackReserve { get; }
+ public int SizeOfUninitializedData { get; }
+ public Subsystem Subsystem { get; }
+ public DirectoryEntry ThreadLocalStorageTableDirectory { get; }
+ }
+ public sealed class PEHeaders {
+ public PEHeaders(Stream peStream);
+ public PEHeaders(Stream peStream, int size);
+ public CoffHeader CoffHeader { get; }
+ public int CoffHeaderStartOffset { get; }
+ public CorHeader CorHeader { get; }
+ public int CorHeaderStartOffset { get; }
+ public bool IsCoffOnly { get; }
+ public bool IsConsoleApplication { get; }
+ public bool IsDll { get; }
+ public bool IsExe { get; }
+ public int MetadataSize { get; }
+ public int MetadataStartOffset { get; }
+ public PEHeader PEHeader { get; }
+ public int PEHeaderStartOffset { get; }
+ public ImmutableArray<SectionHeader> SectionHeaders { get; }
+ public int GetContainingSectionIndex(int relativeVirtualAddress);
+ public bool TryGetDirectoryOffset(DirectoryEntry directory, out int offset);
+ }
+ public enum PEMagic : ushort {
+ PE32 = (ushort)267,
+ PE32Plus = (ushort)523,
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct PEMemoryBlock {
+ public int Length { get; }
+ public unsafe byte* Pointer { get; }
+ public ImmutableArray<byte> GetContent();
+ }
+ public sealed class PEReader : IDisposable {
+ public unsafe PEReader(byte* peImage, int size);
+ public PEReader(ImmutableArray<byte> peImage);
+ public PEReader(Stream peStream);
+ public PEReader(Stream peStream, PEStreamOptions options);
+ public PEReader(Stream peStream, PEStreamOptions options, int size);
+ public bool HasMetadata { get; }
+ public bool IsEntireImageAvailable { get; }
+ public PEHeaders PEHeaders { get; }
+ public void Dispose();
+ public PEMemoryBlock GetEntireImage();
+ public PEMemoryBlock GetMetadata();
+ public PEMemoryBlock GetSectionData(int relativeVirtualAddress);
+ public CodeViewDebugDirectoryData ReadCodeViewDebugDirectoryData(DebugDirectoryEntry entry);
+ public ImmutableArray<DebugDirectoryEntry> ReadDebugDirectory();
+ }
+ public enum PEStreamOptions {
+ Default = 0,
+ LeaveOpen = 1,
+ PrefetchEntireImage = 4,
+ PrefetchMetadata = 2,
+ }
+ public enum SectionCharacteristics : uint {
+ Align1024Bytes = (uint)11534336,
+ Align128Bytes = (uint)8388608,
+ Align16Bytes = (uint)5242880,
+ Align1Bytes = (uint)1048576,
+ Align2048Bytes = (uint)12582912,
+ Align256Bytes = (uint)9437184,
+ Align2Bytes = (uint)2097152,
+ Align32Bytes = (uint)6291456,
+ Align4096Bytes = (uint)13631488,
+ Align4Bytes = (uint)3145728,
+ Align512Bytes = (uint)10485760,
+ Align64Bytes = (uint)7340032,
+ Align8192Bytes = (uint)14680064,
+ Align8Bytes = (uint)4194304,
+ AlignMask = (uint)15728640,
+ ContainsCode = (uint)32,
+ ContainsInitializedData = (uint)64,
+ ContainsUninitializedData = (uint)128,
+ GPRel = (uint)32768,
+ LinkerComdat = (uint)4096,
+ LinkerInfo = (uint)512,
+ LinkerNRelocOvfl = (uint)16777216,
+ LinkerOther = (uint)256,
+ LinkerRemove = (uint)2048,
+ Mem16Bit = (uint)131072,
+ MemDiscardable = (uint)33554432,
+ MemExecute = (uint)536870912,
+ MemFardata = (uint)32768,
+ MemLocked = (uint)262144,
+ MemNotCached = (uint)67108864,
+ MemNotPaged = (uint)134217728,
+ MemPreload = (uint)524288,
+ MemProtected = (uint)16384,
+ MemPurgeable = (uint)131072,
+ MemRead = (uint)1073741824,
+ MemShared = (uint)268435456,
+ MemSysheap = (uint)65536,
+ MemWrite = (uint)2147483648,
+ NoDeferSpecExc = (uint)16384,
+ TypeCopy = (uint)16,
+ TypeDSect = (uint)1,
+ TypeGroup = (uint)4,
+ TypeNoLoad = (uint)2,
+ TypeNoPad = (uint)8,
+ TypeOver = (uint)1024,
+ TypeReg = (uint)0,
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct SectionHeader {
+ public string Name { get; }
+ public ushort NumberOfLineNumbers { get; }
+ public ushort NumberOfRelocations { get; }
+ public int PointerToLineNumbers { get; }
+ public int PointerToRawData { get; }
+ public int PointerToRelocations { get; }
+ public SectionCharacteristics SectionCharacteristics { get; }
+ public int SizeOfRawData { get; }
+ public int VirtualAddress { get; }
+ public int VirtualSize { get; }
+ }
+ public enum Subsystem : ushort {
+ EfiApplication = (ushort)10,
+ EfiBootServiceDriver = (ushort)11,
+ EfiRom = (ushort)13,
+ EfiRuntimeDriver = (ushort)12,
+ Native = (ushort)1,
+ NativeWindows = (ushort)8,
+ OS2Cui = (ushort)5,
+ PosixCui = (ushort)7,
+ Unknown = (ushort)0,
+ WindowsCEGui = (ushort)9,
+ WindowsCui = (ushort)3,
+ WindowsGui = (ushort)2,
+ Xbox = (ushort)14,
+ }
+}
```

File diff suppressed because it is too large Load Diff

View File

@@ -1,82 +1,82 @@
# System.Resources
``` diff
+namespace System.Resources {
+ public interface IResourceReader : IDisposable, IEnumerable {
+ new IDictionaryEnumerator GetEnumerator();
+ }
+ public class MissingManifestResourceException : Exception {
+ public MissingManifestResourceException();
+ public MissingManifestResourceException(string message);
+ public MissingManifestResourceException(string message, Exception inner);
+ }
+ public sealed class NeutralResourcesLanguageAttribute : Attribute {
+ public NeutralResourcesLanguageAttribute(string cultureName);
+ public NeutralResourcesLanguageAttribute(string cultureName, UltimateResourceFallbackLocation location);
+ public string CultureName { get; }
+ public UltimateResourceFallbackLocation Location { get; }
+ }
+ public class ResourceManager {
+ public static readonly int HeaderVersionNumber;
+ public static readonly int MagicNumber;
+ protected Assembly MainAssembly;
+ protected string BaseNameField;
+ protected ResourceManager();
+ public ResourceManager(string baseName, Assembly assembly);
+ [MethodImpl(NoInlining)]public ResourceManager(string baseName, Assembly assembly, Type usingResourceSet);
+ public ResourceManager(Type resourceSource);
+ public virtual string BaseName { get; }
+ public virtual bool IgnoreCase { get; set; }
+ public virtual Type ResourceSetType { get; }
+ protected static CultureInfo GetNeutralResourcesLanguage(Assembly a);
+ public virtual object GetObject(string name);
+ public virtual object GetObject(string name, CultureInfo culture);
+ protected virtual string GetResourceFileName(CultureInfo culture);
+ [MethodImpl(NoInlining)]public virtual ResourceSet GetResourceSet(CultureInfo culture, bool createIfNotExists, bool tryParents);
+ protected static Version GetSatelliteContractVersion(Assembly a);
+ public UnmanagedMemoryStream GetStream(string name);
+ public UnmanagedMemoryStream GetStream(string name, CultureInfo culture);
+ public string GetString(string name);
+ public virtual string GetString(string name, CultureInfo culture);
+ [MethodImpl(NoInlining)]protected virtual ResourceSet InternalGetResourceSet(CultureInfo culture, bool createIfNotExists, bool tryParents);
+ public virtual void ReleaseAllResources();
+ }
+ public sealed class ResourceReader : IDisposable {
+ public ResourceReader(Stream stream);
+ public void Dispose();
+ public IDictionaryEnumerator GetEnumerator();
+ }
+ public class ResourceSet : IDisposable, IEnumerable {
+ protected IResourceReader Reader;
+ protected ResourceSet();
+ public ResourceSet(Stream stream);
+ public ResourceSet(string fileName);
+ public virtual void Close();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public virtual Type GetDefaultReader();
+ public virtual IDictionaryEnumerator GetEnumerator();
+ public virtual object GetObject(string name);
+ public virtual object GetObject(string name, bool ignoreCase);
+ public virtual string GetString(string name);
+ public virtual string GetString(string name, bool ignoreCase);
+ protected virtual void ReadResources();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class ResourceWriter : IDisposable {
+ public ResourceWriter(Stream stream);
+ public void AddResource(string name, string value);
+ public void Dispose();
+ public void Generate();
+ }
+ public sealed class SatelliteContractVersionAttribute : Attribute {
+ public SatelliteContractVersionAttribute(string version);
+ public string Version { get; }
+ }
+ public enum UltimateResourceFallbackLocation {
+ MainAssembly = 0,
+ Satellite = 1,
+ }
+}
```
# System.Resources
``` diff
+namespace System.Resources {
+ public interface IResourceReader : IDisposable, IEnumerable {
+ new IDictionaryEnumerator GetEnumerator();
+ }
+ public class MissingManifestResourceException : Exception {
+ public MissingManifestResourceException();
+ public MissingManifestResourceException(string message);
+ public MissingManifestResourceException(string message, Exception inner);
+ }
+ public sealed class NeutralResourcesLanguageAttribute : Attribute {
+ public NeutralResourcesLanguageAttribute(string cultureName);
+ public NeutralResourcesLanguageAttribute(string cultureName, UltimateResourceFallbackLocation location);
+ public string CultureName { get; }
+ public UltimateResourceFallbackLocation Location { get; }
+ }
+ public class ResourceManager {
+ public static readonly int HeaderVersionNumber;
+ public static readonly int MagicNumber;
+ protected Assembly MainAssembly;
+ protected string BaseNameField;
+ protected ResourceManager();
+ public ResourceManager(string baseName, Assembly assembly);
+ [MethodImpl(NoInlining)]public ResourceManager(string baseName, Assembly assembly, Type usingResourceSet);
+ public ResourceManager(Type resourceSource);
+ public virtual string BaseName { get; }
+ public virtual bool IgnoreCase { get; set; }
+ public virtual Type ResourceSetType { get; }
+ protected static CultureInfo GetNeutralResourcesLanguage(Assembly a);
+ public virtual object GetObject(string name);
+ public virtual object GetObject(string name, CultureInfo culture);
+ protected virtual string GetResourceFileName(CultureInfo culture);
+ [MethodImpl(NoInlining)]public virtual ResourceSet GetResourceSet(CultureInfo culture, bool createIfNotExists, bool tryParents);
+ protected static Version GetSatelliteContractVersion(Assembly a);
+ public UnmanagedMemoryStream GetStream(string name);
+ public UnmanagedMemoryStream GetStream(string name, CultureInfo culture);
+ public string GetString(string name);
+ public virtual string GetString(string name, CultureInfo culture);
+ [MethodImpl(NoInlining)]protected virtual ResourceSet InternalGetResourceSet(CultureInfo culture, bool createIfNotExists, bool tryParents);
+ public virtual void ReleaseAllResources();
+ }
+ public sealed class ResourceReader : IDisposable {
+ public ResourceReader(Stream stream);
+ public void Dispose();
+ public IDictionaryEnumerator GetEnumerator();
+ }
+ public class ResourceSet : IDisposable, IEnumerable {
+ protected IResourceReader Reader;
+ protected ResourceSet();
+ public ResourceSet(Stream stream);
+ public ResourceSet(string fileName);
+ public virtual void Close();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public virtual Type GetDefaultReader();
+ public virtual IDictionaryEnumerator GetEnumerator();
+ public virtual object GetObject(string name);
+ public virtual object GetObject(string name, bool ignoreCase);
+ public virtual string GetString(string name);
+ public virtual string GetString(string name, bool ignoreCase);
+ protected virtual void ReadResources();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class ResourceWriter : IDisposable {
+ public ResourceWriter(Stream stream);
+ public void AddResource(string name, string value);
+ public void Dispose();
+ public void Generate();
+ }
+ public sealed class SatelliteContractVersionAttribute : Attribute {
+ public SatelliteContractVersionAttribute(string version);
+ public string Version { get; }
+ }
+ public enum UltimateResourceFallbackLocation {
+ MainAssembly = 0,
+ Satellite = 1,
+ }
+}
```

View File

@@ -1,325 +1,325 @@
# System.Runtime.CompilerServices
``` diff
+namespace System.Runtime.CompilerServices {
+ public sealed class AccessedThroughPropertyAttribute : Attribute {
+ public AccessedThroughPropertyAttribute(string propertyName);
+ public string PropertyName { get; }
+ }
+ public sealed class AsyncStateMachineAttribute : StateMachineAttribute {
+ public AsyncStateMachineAttribute(Type stateMachineType);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct AsyncTaskMethodBuilder {
+ public Task Task { get; }
+ public void AwaitOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : INotifyCompletion where TStateMachine : IAsyncStateMachine;
+ public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : ICriticalNotifyCompletion where TStateMachine : IAsyncStateMachine;
+ public static AsyncTaskMethodBuilder Create();
+ public void SetException(Exception exception);
+ public void SetResult();
+ public void SetStateMachine(IAsyncStateMachine stateMachine);
+ public void Start<TStateMachine>(ref TStateMachine stateMachine) where TStateMachine : IAsyncStateMachine;
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct AsyncTaskMethodBuilder<TResult> {
+ public Task<TResult> Task { get; }
+ public void AwaitOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : INotifyCompletion where TStateMachine : IAsyncStateMachine;
+ public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : ICriticalNotifyCompletion where TStateMachine : IAsyncStateMachine;
+ public static AsyncTaskMethodBuilder<TResult> Create();
+ public void SetException(Exception exception);
+ public void SetResult(TResult result);
+ public void SetStateMachine(IAsyncStateMachine stateMachine);
+ public void Start<TStateMachine>(ref TStateMachine stateMachine) where TStateMachine : IAsyncStateMachine;
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct AsyncVoidMethodBuilder {
+ public void AwaitOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : INotifyCompletion where TStateMachine : IAsyncStateMachine;
+ public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : ICriticalNotifyCompletion where TStateMachine : IAsyncStateMachine;
+ public static AsyncVoidMethodBuilder Create();
+ public void SetException(Exception exception);
+ public void SetResult();
+ public void SetStateMachine(IAsyncStateMachine stateMachine);
+ public void Start<TStateMachine>(ref TStateMachine stateMachine) where TStateMachine : IAsyncStateMachine;
+ }
+ public class CallConvCdecl
+ public class CallConvFastcall
+ public class CallConvStdcall
+ public class CallConvThiscall
+ public sealed class CallerFilePathAttribute : Attribute {
+ public CallerFilePathAttribute();
+ }
+ public sealed class CallerLineNumberAttribute : Attribute {
+ public CallerLineNumberAttribute();
+ }
+ public sealed class CallerMemberNameAttribute : Attribute {
+ public CallerMemberNameAttribute();
+ }
+ public class CallSite {
+ public CallSiteBinder Binder { get; }
+ public static CallSite Create(Type delegateType, CallSiteBinder binder);
+ }
+ public class CallSite<T> : CallSite where T : class {
+ public T Target;
+ public T Update { get; }
+ public static CallSite<T> Create(CallSiteBinder binder);
+ }
+ public abstract class CallSiteBinder {
+ protected CallSiteBinder();
+ public static LabelTarget UpdateLabel { get; }
+ public abstract Expression Bind(object[] args, ReadOnlyCollection<ParameterExpression> parameters, LabelTarget returnLabel);
+ public virtual T BindDelegate<T>(CallSite<T> site, object[] args) where T : class;
+ protected void CacheTarget<T>(T target) where T : class;
+ }
+ public static class CallSiteHelpers {
+ public static bool IsInternalFrame(MethodBase mb);
+ }
+ public enum CompilationRelaxations {
+ NoStringInterning = 8,
+ }
+ public class CompilationRelaxationsAttribute : Attribute {
+ public CompilationRelaxationsAttribute(int relaxations);
+ public CompilationRelaxationsAttribute(CompilationRelaxations relaxations);
+ public int CompilationRelaxations { get; }
+ }
+ public sealed class CompilerGeneratedAttribute : Attribute {
+ public CompilerGeneratedAttribute();
+ }
+ public static class CompilerMarshalOverride
+ public sealed class ConditionalWeakTable<TKey, TValue> where TKey : class where TValue : class {
+ public ConditionalWeakTable();
+ public void Add(TKey key, TValue value);
+ ~ConditionalWeakTable();
+ public TValue GetOrCreateValue(TKey key);
+ public TValue GetValue(TKey key, ConditionalWeakTable<TKey, TValue>.CreateValueCallback createValueCallback);
+ public bool Remove(TKey key);
+ public bool TryGetValue(TKey key, out TValue value);
+ public delegate TValue CreateValueCallback(TKey key);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct ConfiguredTaskAwaitable {
+ public ConfiguredTaskAwaitable.ConfiguredTaskAwaiter GetAwaiter();
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct ConfiguredTaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion {
+ public bool IsCompleted { get; }
+ public void GetResult();
+ public void OnCompleted(Action continuation);
+ public void UnsafeOnCompleted(Action continuation);
+ }
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct ConfiguredTaskAwaitable<TResult> {
+ public ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter GetAwaiter();
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct ConfiguredTaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion {
+ public bool IsCompleted { get; }
+ public TResult GetResult();
+ public void OnCompleted(Action continuation);
+ public void UnsafeOnCompleted(Action continuation);
+ }
+ }
+ public struct ConfiguredValueTaskAwaitable<TResult> {
+ public ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter GetAwaiter();
+ public struct ConfiguredValueTaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion {
+ public bool IsCompleted { get; }
+ public TResult GetResult();
+ public void OnCompleted(Action continuation);
+ public void UnsafeOnCompleted(Action continuation);
+ }
+ }
+ public static class ContractHelper {
+ public static string RaiseContractFailedEvent(ContractFailureKind failureKind, string userMessage, string conditionText, Exception innerException);
+ public static void TriggerFailure(ContractFailureKind kind, string displayMessage, string userMessage, string conditionText, Exception innerException);
+ }
+ public abstract class CustomConstantAttribute : Attribute {
+ protected CustomConstantAttribute();
+ public abstract object Value { get; }
+ }
+ public sealed class DateTimeConstantAttribute : CustomConstantAttribute {
+ public DateTimeConstantAttribute(long ticks);
+ public override object Value { get; }
+ }
+ public sealed class DecimalConstantAttribute : Attribute {
+ public DecimalConstantAttribute(byte scale, byte sign, int hi, int mid, int low);
+ public DecimalConstantAttribute(byte scale, byte sign, uint hi, uint mid, uint low);
+ public Decimal Value { get; }
+ }
+ public sealed class DisablePrivateReflectionAttribute : Attribute {
+ public DisablePrivateReflectionAttribute();
+ }
+ public sealed class DynamicAttribute : Attribute {
+ public DynamicAttribute();
+ public DynamicAttribute(bool[] transformFlags);
+ public IList<bool> TransformFlags { get; }
+ }
+ public sealed class ExtensionAttribute : Attribute {
+ public ExtensionAttribute();
+ }
+ public sealed class FixedAddressValueTypeAttribute : Attribute {
+ public FixedAddressValueTypeAttribute();
+ }
+ public sealed class FixedBufferAttribute : Attribute {
+ public FixedBufferAttribute(Type elementType, int length);
+ public Type ElementType { get; }
+ public int Length { get; }
+ }
+ public static class FormattableStringFactory {
+ public static FormattableString Create(string format, params object[] arguments);
+ }
+ public interface IAsyncStateMachine {
+ void MoveNext();
+ void SetStateMachine(IAsyncStateMachine stateMachine);
+ }
+ public interface ICastable {
+ RuntimeTypeHandle GetImplType(RuntimeTypeHandle interfaceType);
+ bool IsInstanceOfInterface(RuntimeTypeHandle interfaceType, out Exception castError);
+ }
+ public interface ICriticalNotifyCompletion : INotifyCompletion {
+ void UnsafeOnCompleted(Action continuation);
+ }
+ public sealed class IndexerNameAttribute : Attribute {
+ public IndexerNameAttribute(string indexerName);
+ }
+ public interface INotifyCompletion {
+ void OnCompleted(Action continuation);
+ }
+ public sealed class InternalsVisibleToAttribute : Attribute {
+ public InternalsVisibleToAttribute(string assemblyName);
+ public bool AllInternalsVisible { get; set; }
+ public string AssemblyName { get; }
+ }
+ public static class IsBoxed
+ public static class IsByValue
+ public static class IsConst
+ public static class IsCopyConstructed
+ public static class IsExplicitlyDereferenced
+ public static class IsImplicitlyDereferenced
+ public static class IsJitIntrinsic
+ public static class IsLong
+ public static class IsSignUnspecifiedByte
+ public interface IStrongBox {
+ object Value { get; set; }
+ }
+ public static class IsUdtReturn
+ public static class IsVolatile
+ public sealed class IteratorStateMachineAttribute : StateMachineAttribute {
+ public IteratorStateMachineAttribute(Type stateMachineType);
+ }
+ public enum MethodCodeType {
+ IL = 0,
+ Native = 1,
+ OPTIL = 2,
+ Runtime = 3,
+ }
+ public sealed class MethodImplAttribute : Attribute {
+ public MethodCodeType MethodCodeType;
+ public MethodImplAttribute();
+ public MethodImplAttribute(short value);
+ public MethodImplAttribute(MethodImplOptions methodImplOptions);
+ public MethodImplOptions Value { get; }
+ }
+ public enum MethodImplOptions {
+ AggressiveInlining = 256,
+ ForwardRef = 16,
+ InternalCall = 4096,
+ NoInlining = 8,
+ NoOptimization = 64,
+ PreserveSig = 128,
+ Synchronized = 32,
+ Unmanaged = 4,
+ }
+ public sealed class NativeCppClassAttribute : Attribute {
+ public NativeCppClassAttribute();
+ }
+ public sealed class ReferenceAssemblyAttribute : Attribute {
+ public ReferenceAssemblyAttribute();
+ public ReferenceAssemblyAttribute(string description);
+ public string Description { get; }
+ }
+ public sealed class RequiredAttributeAttribute : Attribute {
+ public RequiredAttributeAttribute(Type requiredContract);
+ public Type RequiredContract { get; }
+ }
+ public sealed class RuntimeCompatibilityAttribute : Attribute {
+ public RuntimeCompatibilityAttribute();
+ public bool WrapNonExceptionThrows { get; set; }
+ }
+ public static class RuntimeHelpers {
+ public static int OffsetToStringData { get; }
+ public static void EnsureSufficientExecutionStack();
+ public static int GetHashCode(object o);
+ public static object GetObjectValue(object obj);
+ public static object GetUninitializedObject(Type type);
+ public static void InitializeArray(Array array, RuntimeFieldHandle fldHandle);
+ public static void RunClassConstructor(RuntimeTypeHandle type);
+ }
+ public sealed class SpecialNameAttribute : Attribute {
+ public SpecialNameAttribute();
+ }
+ public class StateMachineAttribute : Attribute {
+ public StateMachineAttribute(Type stateMachineType);
+ public Type StateMachineType { get; }
+ }
+ public class StrongBox<T> : IStrongBox {
+ public T Value;
+ public StrongBox();
+ public StrongBox(T value);
+ object System.Runtime.CompilerServices.IStrongBox.Value { get; set; }
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct TaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion {
+ public bool IsCompleted { get; }
+ public void GetResult();
+ public void OnCompleted(Action continuation);
+ public void UnsafeOnCompleted(Action continuation);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct TaskAwaiter<TResult> : ICriticalNotifyCompletion, INotifyCompletion {
+ public bool IsCompleted { get; }
+ public TResult GetResult();
+ public void OnCompleted(Action continuation);
+ public void UnsafeOnCompleted(Action continuation);
+ }
+ public sealed class TypeForwardedFromAttribute : Attribute {
+ public TypeForwardedFromAttribute(string assemblyFullName);
+ public string AssemblyFullName { get; }
+ }
+ public sealed class TypeForwardedToAttribute : Attribute {
+ public TypeForwardedToAttribute(Type destination);
+ public Type Destination { get; }
+ }
+ public static class Unsafe {
+ [MethodImpl(AggressiveInlining)]public static T As<T>(object o) where T : class;
+ [MethodImpl(AggressiveInlining)]public unsafe static void* AsPointer<T>(ref T value);
+ [MethodImpl(AggressiveInlining)]public unsafe static T AsRef<T>(void* source);
+ [MethodImpl(AggressiveInlining)]public unsafe static void Copy<T>(void* destination, ref T source);
+ [MethodImpl(AggressiveInlining)]public unsafe static void Copy<T>(ref T destination, void* source);
+ [MethodImpl(AggressiveInlining)]public unsafe static void CopyBlock(void* destination, void* source, uint byteCount);
+ [MethodImpl(AggressiveInlining)]public unsafe static void InitBlock(void* startAddress, byte value, uint byteCount);
+ [MethodImpl(AggressiveInlining)]public unsafe static T Read<T>(void* source);
+ [MethodImpl(AggressiveInlining)]public static int SizeOf<T>();
+ [MethodImpl(AggressiveInlining)]public unsafe static void Write<T>(void* destination, T value);
+ }
+ public sealed class UnsafeValueTypeAttribute : Attribute {
+ public UnsafeValueTypeAttribute();
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct ValueTaskAwaiter<TResult> : ICriticalNotifyCompletion, INotifyCompletion {
+ public bool IsCompleted { get; }
+ public TResult GetResult();
+ public void OnCompleted(Action continuation);
+ public void UnsafeOnCompleted(Action continuation);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct YieldAwaitable {
+ public YieldAwaitable.YieldAwaiter GetAwaiter();
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct YieldAwaiter : ICriticalNotifyCompletion, INotifyCompletion {
+ public bool IsCompleted { get; }
+ public void GetResult();
+ public void OnCompleted(Action continuation);
+ public void UnsafeOnCompleted(Action continuation);
+ }
+ }
+}
```
# System.Runtime.CompilerServices
``` diff
+namespace System.Runtime.CompilerServices {
+ public sealed class AccessedThroughPropertyAttribute : Attribute {
+ public AccessedThroughPropertyAttribute(string propertyName);
+ public string PropertyName { get; }
+ }
+ public sealed class AsyncStateMachineAttribute : StateMachineAttribute {
+ public AsyncStateMachineAttribute(Type stateMachineType);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct AsyncTaskMethodBuilder {
+ public Task Task { get; }
+ public void AwaitOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : INotifyCompletion where TStateMachine : IAsyncStateMachine;
+ public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : ICriticalNotifyCompletion where TStateMachine : IAsyncStateMachine;
+ public static AsyncTaskMethodBuilder Create();
+ public void SetException(Exception exception);
+ public void SetResult();
+ public void SetStateMachine(IAsyncStateMachine stateMachine);
+ public void Start<TStateMachine>(ref TStateMachine stateMachine) where TStateMachine : IAsyncStateMachine;
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct AsyncTaskMethodBuilder<TResult> {
+ public Task<TResult> Task { get; }
+ public void AwaitOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : INotifyCompletion where TStateMachine : IAsyncStateMachine;
+ public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : ICriticalNotifyCompletion where TStateMachine : IAsyncStateMachine;
+ public static AsyncTaskMethodBuilder<TResult> Create();
+ public void SetException(Exception exception);
+ public void SetResult(TResult result);
+ public void SetStateMachine(IAsyncStateMachine stateMachine);
+ public void Start<TStateMachine>(ref TStateMachine stateMachine) where TStateMachine : IAsyncStateMachine;
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct AsyncVoidMethodBuilder {
+ public void AwaitOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : INotifyCompletion where TStateMachine : IAsyncStateMachine;
+ public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : ICriticalNotifyCompletion where TStateMachine : IAsyncStateMachine;
+ public static AsyncVoidMethodBuilder Create();
+ public void SetException(Exception exception);
+ public void SetResult();
+ public void SetStateMachine(IAsyncStateMachine stateMachine);
+ public void Start<TStateMachine>(ref TStateMachine stateMachine) where TStateMachine : IAsyncStateMachine;
+ }
+ public class CallConvCdecl
+ public class CallConvFastcall
+ public class CallConvStdcall
+ public class CallConvThiscall
+ public sealed class CallerFilePathAttribute : Attribute {
+ public CallerFilePathAttribute();
+ }
+ public sealed class CallerLineNumberAttribute : Attribute {
+ public CallerLineNumberAttribute();
+ }
+ public sealed class CallerMemberNameAttribute : Attribute {
+ public CallerMemberNameAttribute();
+ }
+ public class CallSite {
+ public CallSiteBinder Binder { get; }
+ public static CallSite Create(Type delegateType, CallSiteBinder binder);
+ }
+ public class CallSite<T> : CallSite where T : class {
+ public T Target;
+ public T Update { get; }
+ public static CallSite<T> Create(CallSiteBinder binder);
+ }
+ public abstract class CallSiteBinder {
+ protected CallSiteBinder();
+ public static LabelTarget UpdateLabel { get; }
+ public abstract Expression Bind(object[] args, ReadOnlyCollection<ParameterExpression> parameters, LabelTarget returnLabel);
+ public virtual T BindDelegate<T>(CallSite<T> site, object[] args) where T : class;
+ protected void CacheTarget<T>(T target) where T : class;
+ }
+ public static class CallSiteHelpers {
+ public static bool IsInternalFrame(MethodBase mb);
+ }
+ public enum CompilationRelaxations {
+ NoStringInterning = 8,
+ }
+ public class CompilationRelaxationsAttribute : Attribute {
+ public CompilationRelaxationsAttribute(int relaxations);
+ public CompilationRelaxationsAttribute(CompilationRelaxations relaxations);
+ public int CompilationRelaxations { get; }
+ }
+ public sealed class CompilerGeneratedAttribute : Attribute {
+ public CompilerGeneratedAttribute();
+ }
+ public static class CompilerMarshalOverride
+ public sealed class ConditionalWeakTable<TKey, TValue> where TKey : class where TValue : class {
+ public ConditionalWeakTable();
+ public void Add(TKey key, TValue value);
+ ~ConditionalWeakTable();
+ public TValue GetOrCreateValue(TKey key);
+ public TValue GetValue(TKey key, ConditionalWeakTable<TKey, TValue>.CreateValueCallback createValueCallback);
+ public bool Remove(TKey key);
+ public bool TryGetValue(TKey key, out TValue value);
+ public delegate TValue CreateValueCallback(TKey key);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct ConfiguredTaskAwaitable {
+ public ConfiguredTaskAwaitable.ConfiguredTaskAwaiter GetAwaiter();
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct ConfiguredTaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion {
+ public bool IsCompleted { get; }
+ public void GetResult();
+ public void OnCompleted(Action continuation);
+ public void UnsafeOnCompleted(Action continuation);
+ }
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct ConfiguredTaskAwaitable<TResult> {
+ public ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter GetAwaiter();
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct ConfiguredTaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion {
+ public bool IsCompleted { get; }
+ public TResult GetResult();
+ public void OnCompleted(Action continuation);
+ public void UnsafeOnCompleted(Action continuation);
+ }
+ }
+ public struct ConfiguredValueTaskAwaitable<TResult> {
+ public ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter GetAwaiter();
+ public struct ConfiguredValueTaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion {
+ public bool IsCompleted { get; }
+ public TResult GetResult();
+ public void OnCompleted(Action continuation);
+ public void UnsafeOnCompleted(Action continuation);
+ }
+ }
+ public static class ContractHelper {
+ public static string RaiseContractFailedEvent(ContractFailureKind failureKind, string userMessage, string conditionText, Exception innerException);
+ public static void TriggerFailure(ContractFailureKind kind, string displayMessage, string userMessage, string conditionText, Exception innerException);
+ }
+ public abstract class CustomConstantAttribute : Attribute {
+ protected CustomConstantAttribute();
+ public abstract object Value { get; }
+ }
+ public sealed class DateTimeConstantAttribute : CustomConstantAttribute {
+ public DateTimeConstantAttribute(long ticks);
+ public override object Value { get; }
+ }
+ public sealed class DecimalConstantAttribute : Attribute {
+ public DecimalConstantAttribute(byte scale, byte sign, int hi, int mid, int low);
+ public DecimalConstantAttribute(byte scale, byte sign, uint hi, uint mid, uint low);
+ public Decimal Value { get; }
+ }
+ public sealed class DisablePrivateReflectionAttribute : Attribute {
+ public DisablePrivateReflectionAttribute();
+ }
+ public sealed class DynamicAttribute : Attribute {
+ public DynamicAttribute();
+ public DynamicAttribute(bool[] transformFlags);
+ public IList<bool> TransformFlags { get; }
+ }
+ public sealed class ExtensionAttribute : Attribute {
+ public ExtensionAttribute();
+ }
+ public sealed class FixedAddressValueTypeAttribute : Attribute {
+ public FixedAddressValueTypeAttribute();
+ }
+ public sealed class FixedBufferAttribute : Attribute {
+ public FixedBufferAttribute(Type elementType, int length);
+ public Type ElementType { get; }
+ public int Length { get; }
+ }
+ public static class FormattableStringFactory {
+ public static FormattableString Create(string format, params object[] arguments);
+ }
+ public interface IAsyncStateMachine {
+ void MoveNext();
+ void SetStateMachine(IAsyncStateMachine stateMachine);
+ }
+ public interface ICastable {
+ RuntimeTypeHandle GetImplType(RuntimeTypeHandle interfaceType);
+ bool IsInstanceOfInterface(RuntimeTypeHandle interfaceType, out Exception castError);
+ }
+ public interface ICriticalNotifyCompletion : INotifyCompletion {
+ void UnsafeOnCompleted(Action continuation);
+ }
+ public sealed class IndexerNameAttribute : Attribute {
+ public IndexerNameAttribute(string indexerName);
+ }
+ public interface INotifyCompletion {
+ void OnCompleted(Action continuation);
+ }
+ public sealed class InternalsVisibleToAttribute : Attribute {
+ public InternalsVisibleToAttribute(string assemblyName);
+ public bool AllInternalsVisible { get; set; }
+ public string AssemblyName { get; }
+ }
+ public static class IsBoxed
+ public static class IsByValue
+ public static class IsConst
+ public static class IsCopyConstructed
+ public static class IsExplicitlyDereferenced
+ public static class IsImplicitlyDereferenced
+ public static class IsJitIntrinsic
+ public static class IsLong
+ public static class IsSignUnspecifiedByte
+ public interface IStrongBox {
+ object Value { get; set; }
+ }
+ public static class IsUdtReturn
+ public static class IsVolatile
+ public sealed class IteratorStateMachineAttribute : StateMachineAttribute {
+ public IteratorStateMachineAttribute(Type stateMachineType);
+ }
+ public enum MethodCodeType {
+ IL = 0,
+ Native = 1,
+ OPTIL = 2,
+ Runtime = 3,
+ }
+ public sealed class MethodImplAttribute : Attribute {
+ public MethodCodeType MethodCodeType;
+ public MethodImplAttribute();
+ public MethodImplAttribute(short value);
+ public MethodImplAttribute(MethodImplOptions methodImplOptions);
+ public MethodImplOptions Value { get; }
+ }
+ public enum MethodImplOptions {
+ AggressiveInlining = 256,
+ ForwardRef = 16,
+ InternalCall = 4096,
+ NoInlining = 8,
+ NoOptimization = 64,
+ PreserveSig = 128,
+ Synchronized = 32,
+ Unmanaged = 4,
+ }
+ public sealed class NativeCppClassAttribute : Attribute {
+ public NativeCppClassAttribute();
+ }
+ public sealed class ReferenceAssemblyAttribute : Attribute {
+ public ReferenceAssemblyAttribute();
+ public ReferenceAssemblyAttribute(string description);
+ public string Description { get; }
+ }
+ public sealed class RequiredAttributeAttribute : Attribute {
+ public RequiredAttributeAttribute(Type requiredContract);
+ public Type RequiredContract { get; }
+ }
+ public sealed class RuntimeCompatibilityAttribute : Attribute {
+ public RuntimeCompatibilityAttribute();
+ public bool WrapNonExceptionThrows { get; set; }
+ }
+ public static class RuntimeHelpers {
+ public static int OffsetToStringData { get; }
+ public static void EnsureSufficientExecutionStack();
+ public static int GetHashCode(object o);
+ public static object GetObjectValue(object obj);
+ public static object GetUninitializedObject(Type type);
+ public static void InitializeArray(Array array, RuntimeFieldHandle fldHandle);
+ public static void RunClassConstructor(RuntimeTypeHandle type);
+ }
+ public sealed class SpecialNameAttribute : Attribute {
+ public SpecialNameAttribute();
+ }
+ public class StateMachineAttribute : Attribute {
+ public StateMachineAttribute(Type stateMachineType);
+ public Type StateMachineType { get; }
+ }
+ public class StrongBox<T> : IStrongBox {
+ public T Value;
+ public StrongBox();
+ public StrongBox(T value);
+ object System.Runtime.CompilerServices.IStrongBox.Value { get; set; }
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct TaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion {
+ public bool IsCompleted { get; }
+ public void GetResult();
+ public void OnCompleted(Action continuation);
+ public void UnsafeOnCompleted(Action continuation);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct TaskAwaiter<TResult> : ICriticalNotifyCompletion, INotifyCompletion {
+ public bool IsCompleted { get; }
+ public TResult GetResult();
+ public void OnCompleted(Action continuation);
+ public void UnsafeOnCompleted(Action continuation);
+ }
+ public sealed class TypeForwardedFromAttribute : Attribute {
+ public TypeForwardedFromAttribute(string assemblyFullName);
+ public string AssemblyFullName { get; }
+ }
+ public sealed class TypeForwardedToAttribute : Attribute {
+ public TypeForwardedToAttribute(Type destination);
+ public Type Destination { get; }
+ }
+ public static class Unsafe {
+ [MethodImpl(AggressiveInlining)]public static T As<T>(object o) where T : class;
+ [MethodImpl(AggressiveInlining)]public unsafe static void* AsPointer<T>(ref T value);
+ [MethodImpl(AggressiveInlining)]public unsafe static T AsRef<T>(void* source);
+ [MethodImpl(AggressiveInlining)]public unsafe static void Copy<T>(void* destination, ref T source);
+ [MethodImpl(AggressiveInlining)]public unsafe static void Copy<T>(ref T destination, void* source);
+ [MethodImpl(AggressiveInlining)]public unsafe static void CopyBlock(void* destination, void* source, uint byteCount);
+ [MethodImpl(AggressiveInlining)]public unsafe static void InitBlock(void* startAddress, byte value, uint byteCount);
+ [MethodImpl(AggressiveInlining)]public unsafe static T Read<T>(void* source);
+ [MethodImpl(AggressiveInlining)]public static int SizeOf<T>();
+ [MethodImpl(AggressiveInlining)]public unsafe static void Write<T>(void* destination, T value);
+ }
+ public sealed class UnsafeValueTypeAttribute : Attribute {
+ public UnsafeValueTypeAttribute();
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct ValueTaskAwaiter<TResult> : ICriticalNotifyCompletion, INotifyCompletion {
+ public bool IsCompleted { get; }
+ public TResult GetResult();
+ public void OnCompleted(Action continuation);
+ public void UnsafeOnCompleted(Action continuation);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct YieldAwaitable {
+ public YieldAwaitable.YieldAwaiter GetAwaiter();
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct YieldAwaiter : ICriticalNotifyCompletion, INotifyCompletion {
+ public bool IsCompleted { get; }
+ public void GetResult();
+ public void OnCompleted(Action continuation);
+ public void UnsafeOnCompleted(Action continuation);
+ }
+ }
+}
```

View File

@@ -1,11 +1,11 @@
# System.Runtime.ConstrainedExecution
``` diff
+namespace System.Runtime.ConstrainedExecution {
+ public abstract class CriticalFinalizerObject {
+ protected CriticalFinalizerObject();
+ ~CriticalFinalizerObject();
+ }
+}
```
# System.Runtime.ConstrainedExecution
``` diff
+namespace System.Runtime.ConstrainedExecution {
+ public abstract class CriticalFinalizerObject {
+ protected CriticalFinalizerObject();
+ ~CriticalFinalizerObject();
+ }
+}
```

View File

@@ -1,24 +1,24 @@
# System.Runtime.Diagnostics
``` diff
+namespace System.Runtime.Diagnostics {
+ public class EventTraceActivity {
+ public Guid ActivityId;
+ public EventTraceActivity(bool setOnThread=false);
+ public EventTraceActivity(Guid guid, bool setOnThread=false);
+ public static EventTraceActivity Empty { get; }
+ public static string Name { get; }
+ public static Guid GetActivityIdFromThread();
+ public static EventTraceActivity GetFromThreadOrCreate(bool clearIdOnThread=false);
+ public void SetActivityId(Guid guid);
+ }
+ public class TraceRecord {
+ protected const string EventIdBase = "http://schemas.microsoft.com/2006/08/ServiceModel/";
+ protected const string NamespaceSuffix = "TraceRecord";
+ public TraceRecord();
+ protected string BuildEventId(string eventId);
+ protected string XmlEncode(string text);
+ }
+}
```
# System.Runtime.Diagnostics
``` diff
+namespace System.Runtime.Diagnostics {
+ public class EventTraceActivity {
+ public Guid ActivityId;
+ public EventTraceActivity(bool setOnThread=false);
+ public EventTraceActivity(Guid guid, bool setOnThread=false);
+ public static EventTraceActivity Empty { get; }
+ public static string Name { get; }
+ public static Guid GetActivityIdFromThread();
+ public static EventTraceActivity GetFromThreadOrCreate(bool clearIdOnThread=false);
+ public void SetActivityId(Guid guid);
+ }
+ public class TraceRecord {
+ protected const string EventIdBase = "http://schemas.microsoft.com/2006/08/ServiceModel/";
+ protected const string NamespaceSuffix = "TraceRecord";
+ public TraceRecord();
+ protected string BuildEventId(string eventId);
+ protected string XmlEncode(string text);
+ }
+}
```

View File

@@ -1,15 +1,15 @@
# System.Runtime.ExceptionServices
``` diff
+namespace System.Runtime.ExceptionServices {
+ public sealed class ExceptionDispatchInfo {
+ public Exception SourceException { get; }
+ public static ExceptionDispatchInfo Capture(Exception source);
+ public void Throw();
+ }
+ public sealed class HandleProcessCorruptedStateExceptionsAttribute : Attribute {
+ public HandleProcessCorruptedStateExceptionsAttribute();
+ }
+}
```
# System.Runtime.ExceptionServices
``` diff
+namespace System.Runtime.ExceptionServices {
+ public sealed class ExceptionDispatchInfo {
+ public Exception SourceException { get; }
+ public static ExceptionDispatchInfo Capture(Exception source);
+ public void Throw();
+ }
+ public sealed class HandleProcessCorruptedStateExceptionsAttribute : Attribute {
+ public HandleProcessCorruptedStateExceptionsAttribute();
+ }
+}
```

View File

@@ -1,56 +1,56 @@
# System.Runtime.InteropServices.WindowsRuntime
``` diff
+namespace System.Runtime.InteropServices.WindowsRuntime {
+ public sealed class DefaultInterfaceAttribute : Attribute {
+ public DefaultInterfaceAttribute(Type defaultInterface);
+ public Type DefaultInterface { get; }
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct EventRegistrationToken {
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static bool operator ==(EventRegistrationToken left, EventRegistrationToken right);
+ public static bool operator !=(EventRegistrationToken left, EventRegistrationToken right);
+ }
+ public sealed class EventRegistrationTokenTable<T> where T : class {
+ public EventRegistrationTokenTable();
+ public T InvocationList { get; set; }
+ public EventRegistrationToken AddEventHandler(T handler);
+ public static EventRegistrationTokenTable<T> GetOrCreateEventRegistrationTokenTable(ref EventRegistrationTokenTable<T> refEventTable);
+ public void RemoveEventHandler(EventRegistrationToken token);
+ public void RemoveEventHandler(T handler);
+ }
+ public interface IActivationFactory {
+ object ActivateInstance();
+ }
+ public sealed class InterfaceImplementedInVersionAttribute : Attribute {
+ public InterfaceImplementedInVersionAttribute(Type interfaceType, byte majorVersion, byte minorVersion, byte buildVersion, byte revisionVersion);
+ public byte BuildVersion { get; }
+ public Type InterfaceType { get; }
+ public byte MajorVersion { get; }
+ public byte MinorVersion { get; }
+ public byte RevisionVersion { get; }
+ }
+ public sealed class ReadOnlyArrayAttribute : Attribute {
+ public ReadOnlyArrayAttribute();
+ }
+ public sealed class ReturnValueNameAttribute : Attribute {
+ public ReturnValueNameAttribute(string name);
+ public string Name { get; }
+ }
+ public static class WindowsRuntimeMarshal {
+ public static void AddEventHandler<T>(Func<T, EventRegistrationToken> addMethod, Action<EventRegistrationToken> removeMethod, T handler);
+ public static void FreeHString(IntPtr ptr);
+ public static IActivationFactory GetActivationFactory(Type type);
+ public static string PtrToStringHString(IntPtr ptr);
+ public static void RemoveAllEventHandlers(Action<EventRegistrationToken> removeMethod);
+ public static void RemoveEventHandler<T>(Action<EventRegistrationToken> removeMethod, T handler);
+ public static IntPtr StringToHString(string s);
+ }
+ public sealed class WriteOnlyArrayAttribute : Attribute {
+ public WriteOnlyArrayAttribute();
+ }
+}
```
# System.Runtime.InteropServices.WindowsRuntime
``` diff
+namespace System.Runtime.InteropServices.WindowsRuntime {
+ public sealed class DefaultInterfaceAttribute : Attribute {
+ public DefaultInterfaceAttribute(Type defaultInterface);
+ public Type DefaultInterface { get; }
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct EventRegistrationToken {
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ public static bool operator ==(EventRegistrationToken left, EventRegistrationToken right);
+ public static bool operator !=(EventRegistrationToken left, EventRegistrationToken right);
+ }
+ public sealed class EventRegistrationTokenTable<T> where T : class {
+ public EventRegistrationTokenTable();
+ public T InvocationList { get; set; }
+ public EventRegistrationToken AddEventHandler(T handler);
+ public static EventRegistrationTokenTable<T> GetOrCreateEventRegistrationTokenTable(ref EventRegistrationTokenTable<T> refEventTable);
+ public void RemoveEventHandler(EventRegistrationToken token);
+ public void RemoveEventHandler(T handler);
+ }
+ public interface IActivationFactory {
+ object ActivateInstance();
+ }
+ public sealed class InterfaceImplementedInVersionAttribute : Attribute {
+ public InterfaceImplementedInVersionAttribute(Type interfaceType, byte majorVersion, byte minorVersion, byte buildVersion, byte revisionVersion);
+ public byte BuildVersion { get; }
+ public Type InterfaceType { get; }
+ public byte MajorVersion { get; }
+ public byte MinorVersion { get; }
+ public byte RevisionVersion { get; }
+ }
+ public sealed class ReadOnlyArrayAttribute : Attribute {
+ public ReadOnlyArrayAttribute();
+ }
+ public sealed class ReturnValueNameAttribute : Attribute {
+ public ReturnValueNameAttribute(string name);
+ public string Name { get; }
+ }
+ public static class WindowsRuntimeMarshal {
+ public static void AddEventHandler<T>(Func<T, EventRegistrationToken> addMethod, Action<EventRegistrationToken> removeMethod, T handler);
+ public static void FreeHString(IntPtr ptr);
+ public static IActivationFactory GetActivationFactory(Type type);
+ public static string PtrToStringHString(IntPtr ptr);
+ public static void RemoveAllEventHandlers(Action<EventRegistrationToken> removeMethod);
+ public static void RemoveEventHandler<T>(Action<EventRegistrationToken> removeMethod, T handler);
+ public static IntPtr StringToHString(string s);
+ }
+ public sealed class WriteOnlyArrayAttribute : Attribute {
+ public WriteOnlyArrayAttribute();
+ }
+}
```

View File

@@ -1,25 +1,25 @@
# System.Runtime.Loader
``` diff
+namespace System.Runtime.Loader {
+ public abstract class AssemblyLoadContext {
+ protected AssemblyLoadContext();
+ public static AssemblyLoadContext Default { get; }
+ public event Func<AssemblyLoadContext, AssemblyName, Assembly> Resolving;
+ public event Action<AssemblyLoadContext> Unloading;
+ public static AssemblyName GetAssemblyName(string assemblyPath);
+ public static AssemblyLoadContext GetLoadContext(Assembly assembly);
+ protected abstract Assembly Load(AssemblyName assemblyName);
+ public Assembly LoadFromAssemblyName(AssemblyName assemblyName);
+ public Assembly LoadFromAssemblyPath(string assemblyPath);
+ public Assembly LoadFromNativeImagePath(string nativeImagePath, string assemblyPath);
+ public Assembly LoadFromStream(Stream assembly);
+ public Assembly LoadFromStream(Stream assembly, Stream assemblySymbols);
+ protected virtual IntPtr LoadUnmanagedDll(string unmanagedDllName);
+ protected IntPtr LoadUnmanagedDllFromPath(string unmanagedDllPath);
+ public void SetProfileOptimizationRoot(string directoryPath);
+ public void StartProfileOptimization(string profile);
+ }
+}
```
# System.Runtime.Loader
``` diff
+namespace System.Runtime.Loader {
+ public abstract class AssemblyLoadContext {
+ protected AssemblyLoadContext();
+ public static AssemblyLoadContext Default { get; }
+ public event Func<AssemblyLoadContext, AssemblyName, Assembly> Resolving;
+ public event Action<AssemblyLoadContext> Unloading;
+ public static AssemblyName GetAssemblyName(string assemblyPath);
+ public static AssemblyLoadContext GetLoadContext(Assembly assembly);
+ protected abstract Assembly Load(AssemblyName assemblyName);
+ public Assembly LoadFromAssemblyName(AssemblyName assemblyName);
+ public Assembly LoadFromAssemblyPath(string assemblyPath);
+ public Assembly LoadFromNativeImagePath(string nativeImagePath, string assemblyPath);
+ public Assembly LoadFromStream(Stream assembly);
+ public Assembly LoadFromStream(Stream assembly, Stream assemblySymbols);
+ protected virtual IntPtr LoadUnmanagedDll(string unmanagedDllName);
+ protected IntPtr LoadUnmanagedDllFromPath(string unmanagedDllPath);
+ public void SetProfileOptimizationRoot(string directoryPath);
+ public void StartProfileOptimization(string profile);
+ }
+}
```

View File

@@ -1,31 +1,31 @@
# System.Runtime.Serialization.Json
``` diff
+namespace System.Runtime.Serialization.Json {
+ public sealed class DataContractJsonSerializer {
+ public DataContractJsonSerializer(Type type);
+ public DataContractJsonSerializer(Type type, IEnumerable<Type> knownTypes);
+ public DataContractJsonSerializer(Type type, DataContractJsonSerializerSettings settings);
+ public DateTimeFormat DateTimeFormat { get; }
+ public EmitTypeInformation EmitTypeInformation { get; }
+ public ReadOnlyCollection<Type> KnownTypes { get; }
+ public int MaxItemsInObjectGraph { get; }
+ public bool SerializeReadOnlyTypes { get; }
+ public bool UseSimpleDictionaryFormat { get; }
+ public object ReadObject(Stream stream);
+ public void WriteObject(Stream stream, object graph);
+ }
+ public class DataContractJsonSerializerSettings {
+ public DataContractJsonSerializerSettings();
+ public DateTimeFormat DateTimeFormat { get; set; }
+ public EmitTypeInformation EmitTypeInformation { get; set; }
+ public bool IgnoreExtensionDataObject { get; set; }
+ public IEnumerable<Type> KnownTypes { get; set; }
+ public int MaxItemsInObjectGraph { get; set; }
+ public string RootName { get; set; }
+ public bool SerializeReadOnlyTypes { get; set; }
+ public bool UseSimpleDictionaryFormat { get; set; }
+ }
+}
```
# System.Runtime.Serialization.Json
``` diff
+namespace System.Runtime.Serialization.Json {
+ public sealed class DataContractJsonSerializer {
+ public DataContractJsonSerializer(Type type);
+ public DataContractJsonSerializer(Type type, IEnumerable<Type> knownTypes);
+ public DataContractJsonSerializer(Type type, DataContractJsonSerializerSettings settings);
+ public DateTimeFormat DateTimeFormat { get; }
+ public EmitTypeInformation EmitTypeInformation { get; }
+ public ReadOnlyCollection<Type> KnownTypes { get; }
+ public int MaxItemsInObjectGraph { get; }
+ public bool SerializeReadOnlyTypes { get; }
+ public bool UseSimpleDictionaryFormat { get; }
+ public object ReadObject(Stream stream);
+ public void WriteObject(Stream stream, object graph);
+ }
+ public class DataContractJsonSerializerSettings {
+ public DataContractJsonSerializerSettings();
+ public DateTimeFormat DateTimeFormat { get; set; }
+ public EmitTypeInformation EmitTypeInformation { get; set; }
+ public bool IgnoreExtensionDataObject { get; set; }
+ public IEnumerable<Type> KnownTypes { get; set; }
+ public int MaxItemsInObjectGraph { get; set; }
+ public string RootName { get; set; }
+ public bool SerializeReadOnlyTypes { get; set; }
+ public bool UseSimpleDictionaryFormat { get; set; }
+ }
+}
```

View File

@@ -1,227 +1,227 @@
# System.Runtime.Serialization
``` diff
+namespace System.Runtime.Serialization {
+ public sealed class CollectionDataContractAttribute : Attribute {
+ public CollectionDataContractAttribute();
+ public bool IsItemNameSetExplicitly { get; }
+ public bool IsKeyNameSetExplicitly { get; }
+ public bool IsNameSetExplicitly { get; }
+ public bool IsNamespaceSetExplicitly { get; }
+ public bool IsReference { get; set; }
+ public bool IsReferenceSetExplicitly { get; }
+ public bool IsValueNameSetExplicitly { get; }
+ public string ItemName { get; set; }
+ public string KeyName { get; set; }
+ public string Name { get; set; }
+ public string Namespace { get; set; }
+ public string ValueName { get; set; }
+ }
+ public sealed class ContractNamespaceAttribute : Attribute {
+ public ContractNamespaceAttribute(string contractNamespace);
+ public string ClrNamespace { get; set; }
+ public string ContractNamespace { get; }
+ }
+ public sealed class DataContractAttribute : Attribute {
+ public DataContractAttribute();
+ public bool IsNameSetExplicitly { get; }
+ public bool IsNamespaceSetExplicitly { get; }
+ public bool IsReference { get; set; }
+ public bool IsReferenceSetExplicitly { get; }
+ public string Name { get; set; }
+ public string Namespace { get; set; }
+ }
+ public abstract class DataContractResolver {
+ protected DataContractResolver();
+ public abstract Type ResolveName(string typeName, string typeNamespace, Type declaredType, DataContractResolver knownTypeResolver);
+ public abstract bool TryResolveType(Type type, Type declaredType, DataContractResolver knownTypeResolver, out XmlDictionaryString typeName, out XmlDictionaryString typeNamespace);
+ }
+ public sealed class DataContractSerializer : XmlObjectSerializer {
+ public DataContractSerializer(Type type);
+ public DataContractSerializer(Type type, IEnumerable<Type> knownTypes);
+ public DataContractSerializer(Type type, DataContractSerializerSettings settings);
+ public DataContractSerializer(Type type, string rootName, string rootNamespace);
+ public DataContractSerializer(Type type, string rootName, string rootNamespace, IEnumerable<Type> knownTypes);
+ public DataContractSerializer(Type type, XmlDictionaryString rootName, XmlDictionaryString rootNamespace);
+ public DataContractSerializer(Type type, XmlDictionaryString rootName, XmlDictionaryString rootNamespace, IEnumerable<Type> knownTypes);
+ public DataContractSerializer(Type type, XmlDictionaryString rootName, XmlDictionaryString rootNamespace, IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, DataContractResolver dataContractResolver);
+ public DataContractResolver DataContractResolver { get; }
+ public bool IgnoreExtensionDataObject { get; }
+ public ReadOnlyCollection<Type> KnownTypes { get; }
+ public int MaxItemsInObjectGraph { get; }
+ public bool PreserveObjectReferences { get; }
+ public bool SerializeReadOnlyTypes { get; }
+ public override bool IsStartObject(XmlDictionaryReader reader);
+ public override bool IsStartObject(XmlReader reader);
+ public override object ReadObject(XmlDictionaryReader reader, bool verifyObjectName);
+ public override object ReadObject(XmlReader reader);
+ public override object ReadObject(XmlReader reader, bool verifyObjectName);
+ public override void WriteEndObject(XmlDictionaryWriter writer);
+ public override void WriteEndObject(XmlWriter writer);
+ public override void WriteObject(XmlWriter writer, object graph);
+ public override void WriteObjectContent(XmlDictionaryWriter writer, object graph);
+ public override void WriteObjectContent(XmlWriter writer, object graph);
+ public override void WriteStartObject(XmlDictionaryWriter writer, object graph);
+ public override void WriteStartObject(XmlWriter writer, object graph);
+ }
+ public static class DataContractSerializerExtensions {
+ public static ISerializationSurrogateProvider GetSerializationSurrogateProvider(this DataContractSerializer serializer);
+ public static void SetSerializationSurrogateProvider(this DataContractSerializer serializer, ISerializationSurrogateProvider provider);
+ }
+ public class DataContractSerializerSettings {
+ public DataContractSerializerSettings();
+ public DataContractResolver DataContractResolver { get; set; }
+ public IEnumerable<Type> KnownTypes { get; set; }
+ public int MaxItemsInObjectGraph { get; set; }
+ public bool PreserveObjectReferences { get; set; }
+ public XmlDictionaryString RootName { get; set; }
+ public XmlDictionaryString RootNamespace { get; set; }
+ public bool SerializeReadOnlyTypes { get; set; }
+ }
+ public sealed class DataMemberAttribute : Attribute {
+ public DataMemberAttribute();
+ public bool EmitDefaultValue { get; set; }
+ public bool IsNameSetExplicitly { get; }
+ public bool IsRequired { get; set; }
+ public string Name { get; set; }
+ public int Order { get; set; }
+ }
+ public class DateTimeFormat {
+ public DateTimeFormat(string formatString);
+ public DateTimeFormat(string formatString, IFormatProvider formatProvider);
+ public DateTimeStyles DateTimeStyles { get; set; }
+ public IFormatProvider FormatProvider { get; }
+ public string FormatString { get; }
+ }
+ public enum EmitTypeInformation {
+ Always = 1,
+ AsNeeded = 0,
+ Never = 2,
+ }
+ public sealed class EnumMemberAttribute : Attribute {
+ public EnumMemberAttribute();
+ public bool IsValueSetExplicitly { get; }
+ public string Value { get; set; }
+ }
+ public static class FormatterServices {
+ public static object GetUninitializedObject(Type type);
+ }
+ public class GeneratedXmlSerializers {
+ public GeneratedXmlSerializers();
+ public static bool IsInitialized { get; }
+ public static Dictionary<string, Type> GetGeneratedSerializers();
+ }
+ public sealed class IgnoreDataMemberAttribute : Attribute {
+ public IgnoreDataMemberAttribute();
+ }
+ public class InvalidDataContractException : Exception {
+ public InvalidDataContractException();
+ public InvalidDataContractException(string message);
+ public InvalidDataContractException(string message, Exception innerException);
+ }
+ public interface ISerializationSurrogateProvider {
+ object GetDeserializedObject(object obj, Type targetType);
+ object GetObjectToSerialize(object obj, Type targetType);
+ Type GetSurrogateType(Type type);
+ }
+ public static class JsonFormatGeneratorStatics {
+ public static PropertyInfo CollectionItemNameProperty { get; }
+ public static MethodInfo GetCurrentMethod { get; }
+ public static MethodInfo GetItemContractMethod { get; }
+ public static MethodInfo GetJsonDataContractMethod { get; }
+ public static MethodInfo GetJsonMemberIndexMethod { get; }
+ public static MethodInfo GetJsonMemberNameMethod { get; }
+ public static MethodInfo GetRevisedItemContractMethod { get; }
+ public static MethodInfo GetUninitializedObjectMethod { get; }
+ public static MethodInfo IsStartElementMethod0 { get; }
+ public static MethodInfo IsStartElementMethod2 { get; }
+ public static PropertyInfo LocalNameProperty { get; }
+ public static MethodInfo MoveNextMethod { get; }
+ public static MethodInfo MoveToContentMethod { get; }
+ public static PropertyInfo NamespaceProperty { get; }
+ public static PropertyInfo NodeTypeProperty { get; }
+ public static MethodInfo ParseEnumMethod { get; }
+ public static MethodInfo ReadJsonValueMethod { get; }
+ public static ConstructorInfo SerializationExceptionCtor { get; }
+ public static MethodInfo ThrowDuplicateMemberExceptionMethod { get; }
+ public static MethodInfo ThrowMissingRequiredMembersMethod { get; }
+ public static PropertyInfo TypeHandleProperty { get; }
+ public static PropertyInfo UseSimpleDictionaryFormatReadProperty { get; }
+ public static PropertyInfo UseSimpleDictionaryFormatWriteProperty { get; }
+ public static MethodInfo WriteAttributeStringMethod { get; }
+ public static MethodInfo WriteEndElementMethod { get; }
+ public static MethodInfo WriteJsonISerializableMethod { get; }
+ public static MethodInfo WriteJsonNameWithMappingMethod { get; }
+ public static MethodInfo WriteJsonValueMethod { get; }
+ public static MethodInfo WriteStartElementMethod { get; }
+ public static MethodInfo WriteStartElementStringMethod { get; }
+ }
+ public sealed class KnownTypeAttribute : Attribute {
+ public KnownTypeAttribute(string methodName);
+ public KnownTypeAttribute(Type type);
+ public string MethodName { get; }
+ public Type Type { get; }
+ }
+ public sealed class OnDeserializedAttribute : Attribute {
+ public OnDeserializedAttribute();
+ }
+ public sealed class OnDeserializingAttribute : Attribute {
+ public OnDeserializingAttribute();
+ }
+ public sealed class OnSerializedAttribute : Attribute {
+ public OnSerializedAttribute();
+ }
+ public sealed class OnSerializingAttribute : Attribute {
+ public OnSerializingAttribute();
+ }
+ public class SerializationException : Exception {
+ public SerializationException();
+ public SerializationException(string message);
+ public SerializationException(string message, Exception innerException);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct StreamingContext {
+ public StreamingContext(StreamingContextStates state);
+ public StreamingContext(StreamingContextStates state, object additional);
+ public object Context { get; }
+ public StreamingContextStates State { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ }
+ public enum StreamingContextStates {
+ All = 255,
+ Clone = 64,
+ CrossAppDomain = 128,
+ CrossMachine = 2,
+ CrossProcess = 1,
+ File = 4,
+ Other = 32,
+ Persistence = 8,
+ Remoting = 16,
+ }
+ public abstract class XmlObjectSerializer {
+ protected XmlObjectSerializer();
+ public abstract bool IsStartObject(XmlDictionaryReader reader);
+ public virtual bool IsStartObject(XmlReader reader);
+ public virtual object ReadObject(Stream stream);
+ public virtual object ReadObject(XmlDictionaryReader reader);
+ public abstract object ReadObject(XmlDictionaryReader reader, bool verifyObjectName);
+ public virtual object ReadObject(XmlReader reader);
+ public virtual object ReadObject(XmlReader reader, bool verifyObjectName);
+ public abstract void WriteEndObject(XmlDictionaryWriter writer);
+ public virtual void WriteEndObject(XmlWriter writer);
+ public virtual void WriteObject(Stream stream, object graph);
+ public virtual void WriteObject(XmlDictionaryWriter writer, object graph);
+ public virtual void WriteObject(XmlWriter writer, object graph);
+ public abstract void WriteObjectContent(XmlDictionaryWriter writer, object graph);
+ public virtual void WriteObjectContent(XmlWriter writer, object graph);
+ public abstract void WriteStartObject(XmlDictionaryWriter writer, object graph);
+ public virtual void WriteStartObject(XmlWriter writer, object graph);
+ }
+ public static class XmlSerializableServices {
+ public static XmlNode[] ReadNodes(XmlReader xmlReader);
+ public static void WriteNodes(XmlWriter xmlWriter, XmlNode[] nodes);
+ }
+}
```
# System.Runtime.Serialization
``` diff
+namespace System.Runtime.Serialization {
+ public sealed class CollectionDataContractAttribute : Attribute {
+ public CollectionDataContractAttribute();
+ public bool IsItemNameSetExplicitly { get; }
+ public bool IsKeyNameSetExplicitly { get; }
+ public bool IsNameSetExplicitly { get; }
+ public bool IsNamespaceSetExplicitly { get; }
+ public bool IsReference { get; set; }
+ public bool IsReferenceSetExplicitly { get; }
+ public bool IsValueNameSetExplicitly { get; }
+ public string ItemName { get; set; }
+ public string KeyName { get; set; }
+ public string Name { get; set; }
+ public string Namespace { get; set; }
+ public string ValueName { get; set; }
+ }
+ public sealed class ContractNamespaceAttribute : Attribute {
+ public ContractNamespaceAttribute(string contractNamespace);
+ public string ClrNamespace { get; set; }
+ public string ContractNamespace { get; }
+ }
+ public sealed class DataContractAttribute : Attribute {
+ public DataContractAttribute();
+ public bool IsNameSetExplicitly { get; }
+ public bool IsNamespaceSetExplicitly { get; }
+ public bool IsReference { get; set; }
+ public bool IsReferenceSetExplicitly { get; }
+ public string Name { get; set; }
+ public string Namespace { get; set; }
+ }
+ public abstract class DataContractResolver {
+ protected DataContractResolver();
+ public abstract Type ResolveName(string typeName, string typeNamespace, Type declaredType, DataContractResolver knownTypeResolver);
+ public abstract bool TryResolveType(Type type, Type declaredType, DataContractResolver knownTypeResolver, out XmlDictionaryString typeName, out XmlDictionaryString typeNamespace);
+ }
+ public sealed class DataContractSerializer : XmlObjectSerializer {
+ public DataContractSerializer(Type type);
+ public DataContractSerializer(Type type, IEnumerable<Type> knownTypes);
+ public DataContractSerializer(Type type, DataContractSerializerSettings settings);
+ public DataContractSerializer(Type type, string rootName, string rootNamespace);
+ public DataContractSerializer(Type type, string rootName, string rootNamespace, IEnumerable<Type> knownTypes);
+ public DataContractSerializer(Type type, XmlDictionaryString rootName, XmlDictionaryString rootNamespace);
+ public DataContractSerializer(Type type, XmlDictionaryString rootName, XmlDictionaryString rootNamespace, IEnumerable<Type> knownTypes);
+ public DataContractSerializer(Type type, XmlDictionaryString rootName, XmlDictionaryString rootNamespace, IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool preserveObjectReferences, DataContractResolver dataContractResolver);
+ public DataContractResolver DataContractResolver { get; }
+ public bool IgnoreExtensionDataObject { get; }
+ public ReadOnlyCollection<Type> KnownTypes { get; }
+ public int MaxItemsInObjectGraph { get; }
+ public bool PreserveObjectReferences { get; }
+ public bool SerializeReadOnlyTypes { get; }
+ public override bool IsStartObject(XmlDictionaryReader reader);
+ public override bool IsStartObject(XmlReader reader);
+ public override object ReadObject(XmlDictionaryReader reader, bool verifyObjectName);
+ public override object ReadObject(XmlReader reader);
+ public override object ReadObject(XmlReader reader, bool verifyObjectName);
+ public override void WriteEndObject(XmlDictionaryWriter writer);
+ public override void WriteEndObject(XmlWriter writer);
+ public override void WriteObject(XmlWriter writer, object graph);
+ public override void WriteObjectContent(XmlDictionaryWriter writer, object graph);
+ public override void WriteObjectContent(XmlWriter writer, object graph);
+ public override void WriteStartObject(XmlDictionaryWriter writer, object graph);
+ public override void WriteStartObject(XmlWriter writer, object graph);
+ }
+ public static class DataContractSerializerExtensions {
+ public static ISerializationSurrogateProvider GetSerializationSurrogateProvider(this DataContractSerializer serializer);
+ public static void SetSerializationSurrogateProvider(this DataContractSerializer serializer, ISerializationSurrogateProvider provider);
+ }
+ public class DataContractSerializerSettings {
+ public DataContractSerializerSettings();
+ public DataContractResolver DataContractResolver { get; set; }
+ public IEnumerable<Type> KnownTypes { get; set; }
+ public int MaxItemsInObjectGraph { get; set; }
+ public bool PreserveObjectReferences { get; set; }
+ public XmlDictionaryString RootName { get; set; }
+ public XmlDictionaryString RootNamespace { get; set; }
+ public bool SerializeReadOnlyTypes { get; set; }
+ }
+ public sealed class DataMemberAttribute : Attribute {
+ public DataMemberAttribute();
+ public bool EmitDefaultValue { get; set; }
+ public bool IsNameSetExplicitly { get; }
+ public bool IsRequired { get; set; }
+ public string Name { get; set; }
+ public int Order { get; set; }
+ }
+ public class DateTimeFormat {
+ public DateTimeFormat(string formatString);
+ public DateTimeFormat(string formatString, IFormatProvider formatProvider);
+ public DateTimeStyles DateTimeStyles { get; set; }
+ public IFormatProvider FormatProvider { get; }
+ public string FormatString { get; }
+ }
+ public enum EmitTypeInformation {
+ Always = 1,
+ AsNeeded = 0,
+ Never = 2,
+ }
+ public sealed class EnumMemberAttribute : Attribute {
+ public EnumMemberAttribute();
+ public bool IsValueSetExplicitly { get; }
+ public string Value { get; set; }
+ }
+ public static class FormatterServices {
+ public static object GetUninitializedObject(Type type);
+ }
+ public class GeneratedXmlSerializers {
+ public GeneratedXmlSerializers();
+ public static bool IsInitialized { get; }
+ public static Dictionary<string, Type> GetGeneratedSerializers();
+ }
+ public sealed class IgnoreDataMemberAttribute : Attribute {
+ public IgnoreDataMemberAttribute();
+ }
+ public class InvalidDataContractException : Exception {
+ public InvalidDataContractException();
+ public InvalidDataContractException(string message);
+ public InvalidDataContractException(string message, Exception innerException);
+ }
+ public interface ISerializationSurrogateProvider {
+ object GetDeserializedObject(object obj, Type targetType);
+ object GetObjectToSerialize(object obj, Type targetType);
+ Type GetSurrogateType(Type type);
+ }
+ public static class JsonFormatGeneratorStatics {
+ public static PropertyInfo CollectionItemNameProperty { get; }
+ public static MethodInfo GetCurrentMethod { get; }
+ public static MethodInfo GetItemContractMethod { get; }
+ public static MethodInfo GetJsonDataContractMethod { get; }
+ public static MethodInfo GetJsonMemberIndexMethod { get; }
+ public static MethodInfo GetJsonMemberNameMethod { get; }
+ public static MethodInfo GetRevisedItemContractMethod { get; }
+ public static MethodInfo GetUninitializedObjectMethod { get; }
+ public static MethodInfo IsStartElementMethod0 { get; }
+ public static MethodInfo IsStartElementMethod2 { get; }
+ public static PropertyInfo LocalNameProperty { get; }
+ public static MethodInfo MoveNextMethod { get; }
+ public static MethodInfo MoveToContentMethod { get; }
+ public static PropertyInfo NamespaceProperty { get; }
+ public static PropertyInfo NodeTypeProperty { get; }
+ public static MethodInfo ParseEnumMethod { get; }
+ public static MethodInfo ReadJsonValueMethod { get; }
+ public static ConstructorInfo SerializationExceptionCtor { get; }
+ public static MethodInfo ThrowDuplicateMemberExceptionMethod { get; }
+ public static MethodInfo ThrowMissingRequiredMembersMethod { get; }
+ public static PropertyInfo TypeHandleProperty { get; }
+ public static PropertyInfo UseSimpleDictionaryFormatReadProperty { get; }
+ public static PropertyInfo UseSimpleDictionaryFormatWriteProperty { get; }
+ public static MethodInfo WriteAttributeStringMethod { get; }
+ public static MethodInfo WriteEndElementMethod { get; }
+ public static MethodInfo WriteJsonISerializableMethod { get; }
+ public static MethodInfo WriteJsonNameWithMappingMethod { get; }
+ public static MethodInfo WriteJsonValueMethod { get; }
+ public static MethodInfo WriteStartElementMethod { get; }
+ public static MethodInfo WriteStartElementStringMethod { get; }
+ }
+ public sealed class KnownTypeAttribute : Attribute {
+ public KnownTypeAttribute(string methodName);
+ public KnownTypeAttribute(Type type);
+ public string MethodName { get; }
+ public Type Type { get; }
+ }
+ public sealed class OnDeserializedAttribute : Attribute {
+ public OnDeserializedAttribute();
+ }
+ public sealed class OnDeserializingAttribute : Attribute {
+ public OnDeserializingAttribute();
+ }
+ public sealed class OnSerializedAttribute : Attribute {
+ public OnSerializedAttribute();
+ }
+ public sealed class OnSerializingAttribute : Attribute {
+ public OnSerializingAttribute();
+ }
+ public class SerializationException : Exception {
+ public SerializationException();
+ public SerializationException(string message);
+ public SerializationException(string message, Exception innerException);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct StreamingContext {
+ public StreamingContext(StreamingContextStates state);
+ public StreamingContext(StreamingContextStates state, object additional);
+ public object Context { get; }
+ public StreamingContextStates State { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ }
+ public enum StreamingContextStates {
+ All = 255,
+ Clone = 64,
+ CrossAppDomain = 128,
+ CrossMachine = 2,
+ CrossProcess = 1,
+ File = 4,
+ Other = 32,
+ Persistence = 8,
+ Remoting = 16,
+ }
+ public abstract class XmlObjectSerializer {
+ protected XmlObjectSerializer();
+ public abstract bool IsStartObject(XmlDictionaryReader reader);
+ public virtual bool IsStartObject(XmlReader reader);
+ public virtual object ReadObject(Stream stream);
+ public virtual object ReadObject(XmlDictionaryReader reader);
+ public abstract object ReadObject(XmlDictionaryReader reader, bool verifyObjectName);
+ public virtual object ReadObject(XmlReader reader);
+ public virtual object ReadObject(XmlReader reader, bool verifyObjectName);
+ public abstract void WriteEndObject(XmlDictionaryWriter writer);
+ public virtual void WriteEndObject(XmlWriter writer);
+ public virtual void WriteObject(Stream stream, object graph);
+ public virtual void WriteObject(XmlDictionaryWriter writer, object graph);
+ public virtual void WriteObject(XmlWriter writer, object graph);
+ public abstract void WriteObjectContent(XmlDictionaryWriter writer, object graph);
+ public virtual void WriteObjectContent(XmlWriter writer, object graph);
+ public abstract void WriteStartObject(XmlDictionaryWriter writer, object graph);
+ public virtual void WriteStartObject(XmlWriter writer, object graph);
+ }
+ public static class XmlSerializableServices {
+ public static XmlNode[] ReadNodes(XmlReader xmlReader);
+ public static void WriteNodes(XmlWriter xmlWriter, XmlNode[] nodes);
+ }
+}
```

View File

@@ -1,54 +1,54 @@
# System.Runtime.Versioning
``` diff
+namespace System.Runtime.Versioning {
+ public sealed class ComponentGuaranteesAttribute : Attribute {
+ public ComponentGuaranteesAttribute(ComponentGuaranteesOptions guarantees);
+ public ComponentGuaranteesOptions Guarantees { get; }
+ }
+ public enum ComponentGuaranteesOptions {
+ Exchange = 1,
+ None = 0,
+ SideBySide = 4,
+ Stable = 2,
+ }
+ public sealed class FrameworkName : IEquatable<FrameworkName> {
+ public FrameworkName(string frameworkName);
+ public FrameworkName(string identifier, Version version);
+ public FrameworkName(string identifier, Version version, string profile);
+ public string FullName { get; }
+ public string Identifier { get; }
+ public string Profile { get; }
+ public Version Version { get; }
+ public override bool Equals(object obj);
+ public bool Equals(FrameworkName other);
+ public override int GetHashCode();
+ public static bool operator ==(FrameworkName left, FrameworkName right);
+ public static bool operator !=(FrameworkName left, FrameworkName right);
+ public override string ToString();
+ }
+ public sealed class ResourceExposureAttribute : Attribute {
+ public ResourceExposureAttribute(ResourceScope exposureLevel);
+ public ResourceScope ResourceExposureLevel { get; }
+ }
+ public enum ResourceScope {
+ AppDomain = 4,
+ Assembly = 32,
+ Library = 8,
+ Machine = 1,
+ None = 0,
+ Private = 16,
+ Process = 2,
+ }
+ public sealed class TargetFrameworkAttribute : Attribute {
+ public TargetFrameworkAttribute(string frameworkName);
+ public string FrameworkDisplayName { get; set; }
+ public string FrameworkName { get; }
+ }
+ public static class VersioningHelper {
+ public static string MakeVersionSafeName(string name, ResourceScope from, ResourceScope to);
+ public static string MakeVersionSafeName(string name, ResourceScope from, ResourceScope to, Type type);
+ }
+}
```
# System.Runtime.Versioning
``` diff
+namespace System.Runtime.Versioning {
+ public sealed class ComponentGuaranteesAttribute : Attribute {
+ public ComponentGuaranteesAttribute(ComponentGuaranteesOptions guarantees);
+ public ComponentGuaranteesOptions Guarantees { get; }
+ }
+ public enum ComponentGuaranteesOptions {
+ Exchange = 1,
+ None = 0,
+ SideBySide = 4,
+ Stable = 2,
+ }
+ public sealed class FrameworkName : IEquatable<FrameworkName> {
+ public FrameworkName(string frameworkName);
+ public FrameworkName(string identifier, Version version);
+ public FrameworkName(string identifier, Version version, string profile);
+ public string FullName { get; }
+ public string Identifier { get; }
+ public string Profile { get; }
+ public Version Version { get; }
+ public override bool Equals(object obj);
+ public bool Equals(FrameworkName other);
+ public override int GetHashCode();
+ public static bool operator ==(FrameworkName left, FrameworkName right);
+ public static bool operator !=(FrameworkName left, FrameworkName right);
+ public override string ToString();
+ }
+ public sealed class ResourceExposureAttribute : Attribute {
+ public ResourceExposureAttribute(ResourceScope exposureLevel);
+ public ResourceScope ResourceExposureLevel { get; }
+ }
+ public enum ResourceScope {
+ AppDomain = 4,
+ Assembly = 32,
+ Library = 8,
+ Machine = 1,
+ None = 0,
+ Private = 16,
+ Process = 2,
+ }
+ public sealed class TargetFrameworkAttribute : Attribute {
+ public TargetFrameworkAttribute(string frameworkName);
+ public string FrameworkDisplayName { get; set; }
+ public string FrameworkName { get; }
+ }
+ public static class VersioningHelper {
+ public static string MakeVersionSafeName(string name, ResourceScope from, ResourceScope to);
+ public static string MakeVersionSafeName(string name, ResourceScope from, ResourceScope to, Type type);
+ }
+}
```

View File

@@ -1,254 +1,254 @@
# System.Runtime
``` diff
+namespace System.Runtime {
+ public enum AsyncCompletionResult {
+ Completed = 1,
+ Queued = 0,
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct DefaultTaskSchedulerAwaiter : INotifyCompletion {
+ public static DefaultTaskSchedulerAwaiter Singleton;
+ public bool IsCompleted { get; }
+ public DefaultTaskSchedulerAwaiter GetAwaiter();
+ public void GetResult();
+ public void OnCompleted(Action continuation);
+ }
+ public static class Fx {
+ public static Fx.ExceptionHandler AsynchronousThreadExceptionHandler { get; set; }
+ public static byte[] AllocateByteArray(int size);
+ public static char[] AllocateCharArray(int size);
+ public static void Assert(bool condition, string description);
+ public static void Assert(string description);
+ public static void AssertAndFailFast(bool condition, string description);
+ [MethodImpl(NoInlining)]public static Exception AssertAndFailFast(string description);
+ public static void AssertAndThrow(bool condition, string description);
+ [MethodImpl(NoInlining)]public static Exception AssertAndThrow(string description);
+ public static void AssertAndThrowFatal(bool condition, string description);
+ [MethodImpl(NoInlining)]public static Exception AssertAndThrowFatal(string description);
+ public static Guid CreateGuid(string guidString);
+ public static bool IsFatal(Exception exception);
+ public static AsyncCallback ThunkCallback(AsyncCallback callback);
+ public static bool TryCreateGuid(string guidString, out Guid result);
+ public abstract class ExceptionHandler {
+ protected ExceptionHandler();
+ public abstract bool HandleException(Exception exception);
+ }
+ public static class Tag {
+ public sealed class BlockingAttribute : Attribute {
+ public BlockingAttribute();
+ public Type CancelDeclaringType { get; set; }
+ public string CancelMethod { get; set; }
+ public string Conditional { get; set; }
+ }
+ public enum BlocksUsing {
+ AsyncResult = 4,
+ AutoResetEvent = 3,
+ IAsyncResult = 5,
+ InputQueue = 7,
+ ManualResetEvent = 2,
+ MonitorEnter = 0,
+ MonitorWait = 1,
+ NonBlocking = 14,
+ Other = 13,
+ OtherFrameworkPrimitive = 11,
+ OtherInternalPrimitive = 10,
+ OtherInterop = 12,
+ PInvoke = 6,
+ PrivatePrimitive = 9,
+ ThreadNeutralSemaphore = 8,
+ }
+ public sealed class CacheAttribute : Attribute {
+ public CacheAttribute(Type elementType, Fx.Tag.CacheAttrition cacheAttrition);
+ public Fx.Tag.CacheAttrition CacheAttrition { get; }
+ public Type ElementType { get; }
+ public string Scope { get; set; }
+ public string SizeLimit { get; set; }
+ public string Timeout { get; set; }
+ }
+ public enum CacheAttrition {
+ ElementOnCallback = 3,
+ ElementOnGC = 2,
+ ElementOnTimer = 1,
+ FullPurgeOnEachAccess = 5,
+ FullPurgeOnTimer = 4,
+ None = 0,
+ PartialPurgeOnEachAccess = 7,
+ PartialPurgeOnTimer = 6,
+ }
+ public sealed class ExternalResourceAttribute : Attribute {
+ public ExternalResourceAttribute(Fx.Tag.Location location, string description);
+ public string Description { get; }
+ public Fx.Tag.Location Location { get; }
+ }
+ public sealed class FriendAccessAllowedAttribute : Attribute {
+ public FriendAccessAllowedAttribute(string assemblyName);
+ public string AssemblyName { get; set; }
+ }
+ public sealed class GuaranteeNonBlockingAttribute : Attribute {
+ public GuaranteeNonBlockingAttribute();
+ }
+ public sealed class InheritThrowsAttribute : Attribute {
+ public InheritThrowsAttribute();
+ public string From { get; set; }
+ public Type FromDeclaringType { get; set; }
+ }
+ public sealed class KnownXamlExternalAttribute : Attribute {
+ public KnownXamlExternalAttribute();
+ }
+ public enum Location {
+ InProcess = 0,
+ LocalOrRemoteSystem = 3,
+ LocalSystem = 2,
+ OutOfProcess = 1,
+ RemoteSystem = 4,
+ }
+ public sealed class NonThrowingAttribute : Attribute {
+ public NonThrowingAttribute();
+ }
+ public sealed class QueueAttribute : Attribute {
+ public QueueAttribute(Type elementType);
+ public Type ElementType { get; }
+ public bool EnqueueThrowsIfFull { get; set; }
+ public string Scope { get; set; }
+ public string SizeLimit { get; set; }
+ public bool StaleElementsRemovedImmediately { get; set; }
+ }
+ public sealed class SecurityNoteAttribute : Attribute {
+ public SecurityNoteAttribute();
+ public string Critical { get; set; }
+ public string Miscellaneous { get; set; }
+ public string Safe { get; set; }
+ }
+ public static class Strings
+ public enum SynchronizationKind {
+ FromFieldType = 5,
+ InterlockedNoSpin = 3,
+ InterlockedWithSpin = 4,
+ LockStatement = 0,
+ MonitorExplicit = 2,
+ MonitorWait = 1,
+ }
+ public sealed class SynchronizationObjectAttribute : Attribute {
+ public SynchronizationObjectAttribute();
+ public bool Blocking { get; set; }
+ public Fx.Tag.SynchronizationKind Kind { get; set; }
+ public string Scope { get; set; }
+ }
+ public sealed class SynchronizationPrimitiveAttribute : Attribute {
+ public SynchronizationPrimitiveAttribute(Fx.Tag.BlocksUsing blocksUsing);
+ public Fx.Tag.BlocksUsing BlocksUsing { get; }
+ public string ReleaseMethod { get; set; }
+ public bool Spins { get; set; }
+ public bool SupportsAsync { get; set; }
+ }
+ public enum ThrottleAction {
+ Pause = 1,
+ Reject = 0,
+ }
+ public sealed class ThrottleAttribute : Attribute {
+ public ThrottleAttribute(Fx.Tag.ThrottleAction throttleAction, Fx.Tag.ThrottleMetric throttleMetric, string limit);
+ public string Limit { get; }
+ public string Scope { get; set; }
+ public Fx.Tag.ThrottleAction ThrottleAction { get; }
+ public Fx.Tag.ThrottleMetric ThrottleMetric { get; }
+ }
+ public enum ThrottleMetric {
+ Count = 0,
+ Other = 2,
+ Rate = 1,
+ }
+ public static class Throws {
+ public sealed class TimeoutAttribute : Fx.Tag.ThrowsAttribute {
+ public TimeoutAttribute();
+ public TimeoutAttribute(string diagnosis);
+ }
+ }
+ public class ThrowsAttribute : Attribute {
+ public ThrowsAttribute(Type exceptionType, string diagnosis);
+ public string Diagnosis { get; }
+ public Type ExceptionType { get; }
+ }
+ public sealed class XamlVisibleAttribute : Attribute {
+ public XamlVisibleAttribute();
+ public XamlVisibleAttribute(bool visible);
+ public bool Visible { get; private set; }
+ }
+ }
+ }
+ public enum GCLargeObjectHeapCompactionMode {
+ CompactOnce = 2,
+ Default = 1,
+ }
+ public enum GCLatencyMode {
+ Batch = 0,
+ Interactive = 1,
+ LowLatency = 2,
+ NoGCRegion = 4,
+ SustainedLowLatency = 3,
+ }
+ public static class GCSettings {
+ public static bool IsServerGC { get; }
+ public static GCLargeObjectHeapCompactionMode LargeObjectHeapCompactionMode { get; set; }
+ public static GCLatencyMode LatencyMode { get; set; }
+ }
+ public class MruCache<TKey, TValue> where TKey : class where TValue : class {
+ public MruCache(int watermark);
+ public MruCache(int lowWatermark, int highWatermark);
+ public MruCache(int lowWatermark, int highWatermark, IEqualityComparer<TKey> comparer);
+ public int Count { get; }
+ public void Add(TKey key, TValue value);
+ public void Clear();
+ protected virtual void OnItemAgedOutOfCache(TValue item);
+ protected virtual void OnSingleItemRemoved(TValue item);
+ public bool Remove(TKey key);
+ public bool TryGetValue(TKey key, out TValue value);
+ }
+ public class OutWrapper<T> {
+ public OutWrapper();
+ public T Value { get; set; }
+ public static implicit operator T (OutWrapper<T> wrapper);
+ }
+ public static class TaskHelpers {
+ public static Action<object> OnAsyncCompletionCallback;
+ public static Task AsyncWait<TException>(this Task task);
+ public static Task<bool> AwaitWithTimeout(this Task task, TimeSpan timeout);
+ public static Task CompletedTask();
+ public static DefaultTaskSchedulerAwaiter EnsureDefaultTaskScheduler();
+ public static Task ToApm(this Task task, AsyncCallback callback, object state);
+ public static Task<TResult> ToApm<TResult>(this Task<TResult> task, AsyncCallback callback, object state);
+ public static void ToApmEnd(this IAsyncResult iar);
+ public static TResult ToApmEnd<TResult>(this IAsyncResult iar);
+ public static void Wait(this Task task, TimeSpan timeout, Action<Exception, TimeSpan, string> exceptionConverter, string operationType);
+ public static void WaitForCompletion(this Task task);
+ public static TResult WaitForCompletion<TResult>(this Task<TResult> task);
+ public static void WaitForCompletionNoSpin(this Task task);
+ public static bool WaitForCompletionNoSpin(this Task task, TimeSpan timeout);
+ public static TResult WaitForCompletionNoSpin<TResult>(this Task<TResult> task);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct TimeoutHelper {
+ public static readonly TimeSpan MaxWait;
+ public TimeoutHelper(TimeSpan timeout);
+ public TimeSpan OriginalTimeout { get; }
+ public static DateTime Add(DateTime time, TimeSpan timeout);
+ public static TimeSpan Add(TimeSpan timeout1, TimeSpan timeout2);
+ public static TimeSpan Divide(TimeSpan timeout, int factor);
+ public TimeSpan ElapsedTime();
+ public static TimeSpan FromMilliseconds(int milliseconds);
+ public CancellationToken GetCancellationToken();
+ public Task<CancellationToken> GetCancellationTokenAsync();
+ public static bool IsTooLarge(TimeSpan timeout);
+ public static TimeSpan Min(TimeSpan val1, TimeSpan val2);
+ public TimeSpan RemainingTime();
+ public static DateTime Subtract(DateTime time, TimeSpan timeout);
+ public static void ThrowIfNegativeArgument(TimeSpan timeout);
+ public static void ThrowIfNegativeArgument(TimeSpan timeout, string argumentName);
+ public static void ThrowIfNonPositiveArgument(TimeSpan timeout);
+ public static void ThrowIfNonPositiveArgument(TimeSpan timeout, string argumentName);
+ public static int ToMilliseconds(TimeSpan timeout);
+ public static bool WaitOne(WaitHandle waitHandle, TimeSpan timeout);
+ }
+}
```
# System.Runtime
``` diff
+namespace System.Runtime {
+ public enum AsyncCompletionResult {
+ Completed = 1,
+ Queued = 0,
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size=1)]
+ public struct DefaultTaskSchedulerAwaiter : INotifyCompletion {
+ public static DefaultTaskSchedulerAwaiter Singleton;
+ public bool IsCompleted { get; }
+ public DefaultTaskSchedulerAwaiter GetAwaiter();
+ public void GetResult();
+ public void OnCompleted(Action continuation);
+ }
+ public static class Fx {
+ public static Fx.ExceptionHandler AsynchronousThreadExceptionHandler { get; set; }
+ public static byte[] AllocateByteArray(int size);
+ public static char[] AllocateCharArray(int size);
+ public static void Assert(bool condition, string description);
+ public static void Assert(string description);
+ public static void AssertAndFailFast(bool condition, string description);
+ [MethodImpl(NoInlining)]public static Exception AssertAndFailFast(string description);
+ public static void AssertAndThrow(bool condition, string description);
+ [MethodImpl(NoInlining)]public static Exception AssertAndThrow(string description);
+ public static void AssertAndThrowFatal(bool condition, string description);
+ [MethodImpl(NoInlining)]public static Exception AssertAndThrowFatal(string description);
+ public static Guid CreateGuid(string guidString);
+ public static bool IsFatal(Exception exception);
+ public static AsyncCallback ThunkCallback(AsyncCallback callback);
+ public static bool TryCreateGuid(string guidString, out Guid result);
+ public abstract class ExceptionHandler {
+ protected ExceptionHandler();
+ public abstract bool HandleException(Exception exception);
+ }
+ public static class Tag {
+ public sealed class BlockingAttribute : Attribute {
+ public BlockingAttribute();
+ public Type CancelDeclaringType { get; set; }
+ public string CancelMethod { get; set; }
+ public string Conditional { get; set; }
+ }
+ public enum BlocksUsing {
+ AsyncResult = 4,
+ AutoResetEvent = 3,
+ IAsyncResult = 5,
+ InputQueue = 7,
+ ManualResetEvent = 2,
+ MonitorEnter = 0,
+ MonitorWait = 1,
+ NonBlocking = 14,
+ Other = 13,
+ OtherFrameworkPrimitive = 11,
+ OtherInternalPrimitive = 10,
+ OtherInterop = 12,
+ PInvoke = 6,
+ PrivatePrimitive = 9,
+ ThreadNeutralSemaphore = 8,
+ }
+ public sealed class CacheAttribute : Attribute {
+ public CacheAttribute(Type elementType, Fx.Tag.CacheAttrition cacheAttrition);
+ public Fx.Tag.CacheAttrition CacheAttrition { get; }
+ public Type ElementType { get; }
+ public string Scope { get; set; }
+ public string SizeLimit { get; set; }
+ public string Timeout { get; set; }
+ }
+ public enum CacheAttrition {
+ ElementOnCallback = 3,
+ ElementOnGC = 2,
+ ElementOnTimer = 1,
+ FullPurgeOnEachAccess = 5,
+ FullPurgeOnTimer = 4,
+ None = 0,
+ PartialPurgeOnEachAccess = 7,
+ PartialPurgeOnTimer = 6,
+ }
+ public sealed class ExternalResourceAttribute : Attribute {
+ public ExternalResourceAttribute(Fx.Tag.Location location, string description);
+ public string Description { get; }
+ public Fx.Tag.Location Location { get; }
+ }
+ public sealed class FriendAccessAllowedAttribute : Attribute {
+ public FriendAccessAllowedAttribute(string assemblyName);
+ public string AssemblyName { get; set; }
+ }
+ public sealed class GuaranteeNonBlockingAttribute : Attribute {
+ public GuaranteeNonBlockingAttribute();
+ }
+ public sealed class InheritThrowsAttribute : Attribute {
+ public InheritThrowsAttribute();
+ public string From { get; set; }
+ public Type FromDeclaringType { get; set; }
+ }
+ public sealed class KnownXamlExternalAttribute : Attribute {
+ public KnownXamlExternalAttribute();
+ }
+ public enum Location {
+ InProcess = 0,
+ LocalOrRemoteSystem = 3,
+ LocalSystem = 2,
+ OutOfProcess = 1,
+ RemoteSystem = 4,
+ }
+ public sealed class NonThrowingAttribute : Attribute {
+ public NonThrowingAttribute();
+ }
+ public sealed class QueueAttribute : Attribute {
+ public QueueAttribute(Type elementType);
+ public Type ElementType { get; }
+ public bool EnqueueThrowsIfFull { get; set; }
+ public string Scope { get; set; }
+ public string SizeLimit { get; set; }
+ public bool StaleElementsRemovedImmediately { get; set; }
+ }
+ public sealed class SecurityNoteAttribute : Attribute {
+ public SecurityNoteAttribute();
+ public string Critical { get; set; }
+ public string Miscellaneous { get; set; }
+ public string Safe { get; set; }
+ }
+ public static class Strings
+ public enum SynchronizationKind {
+ FromFieldType = 5,
+ InterlockedNoSpin = 3,
+ InterlockedWithSpin = 4,
+ LockStatement = 0,
+ MonitorExplicit = 2,
+ MonitorWait = 1,
+ }
+ public sealed class SynchronizationObjectAttribute : Attribute {
+ public SynchronizationObjectAttribute();
+ public bool Blocking { get; set; }
+ public Fx.Tag.SynchronizationKind Kind { get; set; }
+ public string Scope { get; set; }
+ }
+ public sealed class SynchronizationPrimitiveAttribute : Attribute {
+ public SynchronizationPrimitiveAttribute(Fx.Tag.BlocksUsing blocksUsing);
+ public Fx.Tag.BlocksUsing BlocksUsing { get; }
+ public string ReleaseMethod { get; set; }
+ public bool Spins { get; set; }
+ public bool SupportsAsync { get; set; }
+ }
+ public enum ThrottleAction {
+ Pause = 1,
+ Reject = 0,
+ }
+ public sealed class ThrottleAttribute : Attribute {
+ public ThrottleAttribute(Fx.Tag.ThrottleAction throttleAction, Fx.Tag.ThrottleMetric throttleMetric, string limit);
+ public string Limit { get; }
+ public string Scope { get; set; }
+ public Fx.Tag.ThrottleAction ThrottleAction { get; }
+ public Fx.Tag.ThrottleMetric ThrottleMetric { get; }
+ }
+ public enum ThrottleMetric {
+ Count = 0,
+ Other = 2,
+ Rate = 1,
+ }
+ public static class Throws {
+ public sealed class TimeoutAttribute : Fx.Tag.ThrowsAttribute {
+ public TimeoutAttribute();
+ public TimeoutAttribute(string diagnosis);
+ }
+ }
+ public class ThrowsAttribute : Attribute {
+ public ThrowsAttribute(Type exceptionType, string diagnosis);
+ public string Diagnosis { get; }
+ public Type ExceptionType { get; }
+ }
+ public sealed class XamlVisibleAttribute : Attribute {
+ public XamlVisibleAttribute();
+ public XamlVisibleAttribute(bool visible);
+ public bool Visible { get; private set; }
+ }
+ }
+ }
+ public enum GCLargeObjectHeapCompactionMode {
+ CompactOnce = 2,
+ Default = 1,
+ }
+ public enum GCLatencyMode {
+ Batch = 0,
+ Interactive = 1,
+ LowLatency = 2,
+ NoGCRegion = 4,
+ SustainedLowLatency = 3,
+ }
+ public static class GCSettings {
+ public static bool IsServerGC { get; }
+ public static GCLargeObjectHeapCompactionMode LargeObjectHeapCompactionMode { get; set; }
+ public static GCLatencyMode LatencyMode { get; set; }
+ }
+ public class MruCache<TKey, TValue> where TKey : class where TValue : class {
+ public MruCache(int watermark);
+ public MruCache(int lowWatermark, int highWatermark);
+ public MruCache(int lowWatermark, int highWatermark, IEqualityComparer<TKey> comparer);
+ public int Count { get; }
+ public void Add(TKey key, TValue value);
+ public void Clear();
+ protected virtual void OnItemAgedOutOfCache(TValue item);
+ protected virtual void OnSingleItemRemoved(TValue item);
+ public bool Remove(TKey key);
+ public bool TryGetValue(TKey key, out TValue value);
+ }
+ public class OutWrapper<T> {
+ public OutWrapper();
+ public T Value { get; set; }
+ public static implicit operator T (OutWrapper<T> wrapper);
+ }
+ public static class TaskHelpers {
+ public static Action<object> OnAsyncCompletionCallback;
+ public static Task AsyncWait<TException>(this Task task);
+ public static Task<bool> AwaitWithTimeout(this Task task, TimeSpan timeout);
+ public static Task CompletedTask();
+ public static DefaultTaskSchedulerAwaiter EnsureDefaultTaskScheduler();
+ public static Task ToApm(this Task task, AsyncCallback callback, object state);
+ public static Task<TResult> ToApm<TResult>(this Task<TResult> task, AsyncCallback callback, object state);
+ public static void ToApmEnd(this IAsyncResult iar);
+ public static TResult ToApmEnd<TResult>(this IAsyncResult iar);
+ public static void Wait(this Task task, TimeSpan timeout, Action<Exception, TimeSpan, string> exceptionConverter, string operationType);
+ public static void WaitForCompletion(this Task task);
+ public static TResult WaitForCompletion<TResult>(this Task<TResult> task);
+ public static void WaitForCompletionNoSpin(this Task task);
+ public static bool WaitForCompletionNoSpin(this Task task, TimeSpan timeout);
+ public static TResult WaitForCompletionNoSpin<TResult>(this Task<TResult> task);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct TimeoutHelper {
+ public static readonly TimeSpan MaxWait;
+ public TimeoutHelper(TimeSpan timeout);
+ public TimeSpan OriginalTimeout { get; }
+ public static DateTime Add(DateTime time, TimeSpan timeout);
+ public static TimeSpan Add(TimeSpan timeout1, TimeSpan timeout2);
+ public static TimeSpan Divide(TimeSpan timeout, int factor);
+ public TimeSpan ElapsedTime();
+ public static TimeSpan FromMilliseconds(int milliseconds);
+ public CancellationToken GetCancellationToken();
+ public Task<CancellationToken> GetCancellationTokenAsync();
+ public static bool IsTooLarge(TimeSpan timeout);
+ public static TimeSpan Min(TimeSpan val1, TimeSpan val2);
+ public TimeSpan RemainingTime();
+ public static DateTime Subtract(DateTime time, TimeSpan timeout);
+ public static void ThrowIfNegativeArgument(TimeSpan timeout);
+ public static void ThrowIfNegativeArgument(TimeSpan timeout, string argumentName);
+ public static void ThrowIfNonPositiveArgument(TimeSpan timeout);
+ public static void ThrowIfNonPositiveArgument(TimeSpan timeout, string argumentName);
+ public static int ToMilliseconds(TimeSpan timeout);
+ public static bool WaitOne(WaitHandle waitHandle, TimeSpan timeout);
+ }
+}
```

View File

@@ -1,49 +1,49 @@
# System.Security.Authentication.ExtendedProtection
``` diff
+namespace System.Security.Authentication.ExtendedProtection {
+ public abstract class ChannelBinding : SafeHandle {
+ protected ChannelBinding();
+ protected ChannelBinding(bool ownsHandle);
+ public abstract int Size { get; }
+ }
+ public enum ChannelBindingKind {
+ Endpoint = 26,
+ Unique = 25,
+ Unknown = 0,
+ }
+ public class ExtendedProtectionPolicy {
+ public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement);
+ public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement, ChannelBinding customChannelBinding);
+ public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement, ProtectionScenario protectionScenario, ICollection customServiceNames);
+ public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement, ProtectionScenario protectionScenario, ServiceNameCollection customServiceNames);
+ public ChannelBinding CustomChannelBinding { get; }
+ public ServiceNameCollection CustomServiceNames { get; }
+ public static bool OSSupportsExtendedProtection { get; }
+ public PolicyEnforcement PolicyEnforcement { get; }
+ public ProtectionScenario ProtectionScenario { get; }
+ public override string ToString();
+ }
+ public enum PolicyEnforcement {
+ Always = 2,
+ Never = 0,
+ WhenSupported = 1,
+ }
+ public enum ProtectionScenario {
+ TransportSelected = 0,
+ TrustedProxy = 1,
+ }
+ public class ServiceNameCollection : ICollection, IEnumerable {
+ public ServiceNameCollection(ICollection items);
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public bool Contains(string searchServiceName);
+ public IEnumerator GetEnumerator();
+ public ServiceNameCollection Merge(IEnumerable serviceNames);
+ public ServiceNameCollection Merge(string serviceName);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ }
+}
```
# System.Security.Authentication.ExtendedProtection
``` diff
+namespace System.Security.Authentication.ExtendedProtection {
+ public abstract class ChannelBinding : SafeHandle {
+ protected ChannelBinding();
+ protected ChannelBinding(bool ownsHandle);
+ public abstract int Size { get; }
+ }
+ public enum ChannelBindingKind {
+ Endpoint = 26,
+ Unique = 25,
+ Unknown = 0,
+ }
+ public class ExtendedProtectionPolicy {
+ public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement);
+ public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement, ChannelBinding customChannelBinding);
+ public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement, ProtectionScenario protectionScenario, ICollection customServiceNames);
+ public ExtendedProtectionPolicy(PolicyEnforcement policyEnforcement, ProtectionScenario protectionScenario, ServiceNameCollection customServiceNames);
+ public ChannelBinding CustomChannelBinding { get; }
+ public ServiceNameCollection CustomServiceNames { get; }
+ public static bool OSSupportsExtendedProtection { get; }
+ public PolicyEnforcement PolicyEnforcement { get; }
+ public ProtectionScenario ProtectionScenario { get; }
+ public override string ToString();
+ }
+ public enum PolicyEnforcement {
+ Always = 2,
+ Never = 0,
+ WhenSupported = 1,
+ }
+ public enum ProtectionScenario {
+ TransportSelected = 0,
+ TrustedProxy = 1,
+ }
+ public class ServiceNameCollection : ICollection, IEnumerable {
+ public ServiceNameCollection(ICollection items);
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public bool Contains(string searchServiceName);
+ public IEnumerator GetEnumerator();
+ public ServiceNameCollection Merge(IEnumerable serviceNames);
+ public ServiceNameCollection Merge(string serviceName);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ }
+}
```

View File

@@ -1,48 +1,48 @@
# System.Security.Authentication
``` diff
+namespace System.Security.Authentication {
+ public class AuthenticationException : Exception {
+ public AuthenticationException();
+ public AuthenticationException(string message);
+ public AuthenticationException(string message, Exception innerException);
+ }
+ public enum CipherAlgorithmType {
+ Aes = 26129,
+ Aes128 = 26126,
+ Aes192 = 26127,
+ Aes256 = 26128,
+ Des = 26113,
+ None = 0,
+ Null = 24576,
+ Rc2 = 26114,
+ Rc4 = 26625,
+ TripleDes = 26115,
+ }
+ public enum ExchangeAlgorithmType {
+ DiffieHellman = 43522,
+ None = 0,
+ RsaKeyX = 41984,
+ RsaSign = 9216,
+ }
+ public enum HashAlgorithmType {
+ Md5 = 32771,
+ None = 0,
+ Sha1 = 32772,
+ }
+ public class InvalidCredentialException : AuthenticationException {
+ public InvalidCredentialException();
+ public InvalidCredentialException(string message);
+ public InvalidCredentialException(string message, Exception innerException);
+ }
+ public enum SslProtocols {
+ None = 0,
+ Ssl2 = 12,
+ Ssl3 = 48,
+ Tls = 192,
+ Tls11 = 768,
+ Tls12 = 3072,
+ }
+}
```
# System.Security.Authentication
``` diff
+namespace System.Security.Authentication {
+ public class AuthenticationException : Exception {
+ public AuthenticationException();
+ public AuthenticationException(string message);
+ public AuthenticationException(string message, Exception innerException);
+ }
+ public enum CipherAlgorithmType {
+ Aes = 26129,
+ Aes128 = 26126,
+ Aes192 = 26127,
+ Aes256 = 26128,
+ Des = 26113,
+ None = 0,
+ Null = 24576,
+ Rc2 = 26114,
+ Rc4 = 26625,
+ TripleDes = 26115,
+ }
+ public enum ExchangeAlgorithmType {
+ DiffieHellman = 43522,
+ None = 0,
+ RsaKeyX = 41984,
+ RsaSign = 9216,
+ }
+ public enum HashAlgorithmType {
+ Md5 = 32771,
+ None = 0,
+ Sha1 = 32772,
+ }
+ public class InvalidCredentialException : AuthenticationException {
+ public InvalidCredentialException();
+ public InvalidCredentialException(string message);
+ public InvalidCredentialException(string message, Exception innerException);
+ }
+ public enum SslProtocols {
+ None = 0,
+ Ssl2 = 12,
+ Ssl3 = 48,
+ Tls = 192,
+ Tls11 = 768,
+ Tls12 = 3072,
+ }
+}
```

View File

@@ -1,183 +1,183 @@
# System.Security.Claims
``` diff
+namespace System.Security.Claims {
+ public class Claim {
+ public Claim(BinaryReader reader);
+ public Claim(BinaryReader reader, ClaimsIdentity subject);
+ protected Claim(Claim other);
+ protected Claim(Claim other, ClaimsIdentity subject);
+ public Claim(string type, string value);
+ public Claim(string type, string value, string valueType);
+ public Claim(string type, string value, string valueType, string issuer);
+ public Claim(string type, string value, string valueType, string issuer, string originalIssuer);
+ public Claim(string type, string value, string valueType, string issuer, string originalIssuer, ClaimsIdentity subject);
+ protected virtual byte[] CustomSerializationData { get; }
+ public string Issuer { get; }
+ public string OriginalIssuer { get; }
+ public IDictionary<string, string> Properties { get; }
+ public ClaimsIdentity Subject { get; }
+ public string Type { get; }
+ public string Value { get; }
+ public string ValueType { get; }
+ public virtual Claim Clone();
+ public virtual Claim Clone(ClaimsIdentity identity);
+ public override string ToString();
+ public virtual void WriteTo(BinaryWriter writer);
+ protected virtual void WriteTo(BinaryWriter writer, byte[] userData);
+ }
+ public class ClaimsIdentity : IIdentity {
+ public const string DefaultIssuer = "LOCAL AUTHORITY";
+ public const string DefaultNameClaimType = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name";
+ public const string DefaultRoleClaimType = "http://schemas.microsoft.com/ws/2008/06/identity/claims/role";
+ public ClaimsIdentity();
+ public ClaimsIdentity(IEnumerable<Claim> claims);
+ public ClaimsIdentity(IEnumerable<Claim> claims, string authenticationType);
+ public ClaimsIdentity(IEnumerable<Claim> claims, string authenticationType, string nameType, string roleType);
+ public ClaimsIdentity(BinaryReader reader);
+ protected ClaimsIdentity(ClaimsIdentity other);
+ public ClaimsIdentity(IIdentity identity);
+ public ClaimsIdentity(IIdentity identity, IEnumerable<Claim> claims);
+ public ClaimsIdentity(IIdentity identity, IEnumerable<Claim> claims, string authenticationType, string nameType, string roleType);
+ public ClaimsIdentity(string authenticationType);
+ public ClaimsIdentity(string authenticationType, string nameType, string roleType);
+ public ClaimsIdentity Actor { get; set; }
+ public virtual string AuthenticationType { get; }
+ public object BootstrapContext { get; set; }
+ public virtual IEnumerable<Claim> Claims { get; }
+ protected virtual byte[] CustomSerializationData { get; }
+ public virtual bool IsAuthenticated { get; }
+ public string Label { get; set; }
+ public virtual string Name { get; }
+ public string NameClaimType { get; }
+ public string RoleClaimType { get; }
+ public virtual void AddClaim(Claim claim);
+ public virtual void AddClaims(IEnumerable<Claim> claims);
+ public virtual ClaimsIdentity Clone();
+ protected virtual Claim CreateClaim(BinaryReader reader);
+ public virtual IEnumerable<Claim> FindAll(Predicate<Claim> match);
+ public virtual IEnumerable<Claim> FindAll(string type);
+ public virtual Claim FindFirst(Predicate<Claim> match);
+ public virtual Claim FindFirst(string type);
+ public virtual bool HasClaim(Predicate<Claim> match);
+ public virtual bool HasClaim(string type, string value);
+ public virtual void RemoveClaim(Claim claim);
+ public virtual bool TryRemoveClaim(Claim claim);
+ public virtual void WriteTo(BinaryWriter writer);
+ protected virtual void WriteTo(BinaryWriter writer, byte[] userData);
+ }
+ public class ClaimsPrincipal : IPrincipal {
+ public ClaimsPrincipal();
+ public ClaimsPrincipal(IEnumerable<ClaimsIdentity> identities);
+ public ClaimsPrincipal(BinaryReader reader);
+ public ClaimsPrincipal(IIdentity identity);
+ public ClaimsPrincipal(IPrincipal principal);
+ public virtual IEnumerable<Claim> Claims { get; }
+ public static Func<ClaimsPrincipal> ClaimsPrincipalSelector { get; set; }
+ public static ClaimsPrincipal Current { get; }
+ protected virtual byte[] CustomSerializationData { get; }
+ public virtual IEnumerable<ClaimsIdentity> Identities { get; }
+ public virtual IIdentity Identity { get; }
+ public static Func<IEnumerable<ClaimsIdentity>, ClaimsIdentity> PrimaryIdentitySelector { get; set; }
+ public virtual void AddIdentities(IEnumerable<ClaimsIdentity> identities);
+ public virtual void AddIdentity(ClaimsIdentity identity);
+ public virtual ClaimsPrincipal Clone();
+ protected virtual ClaimsIdentity CreateClaimsIdentity(BinaryReader reader);
+ public virtual IEnumerable<Claim> FindAll(Predicate<Claim> match);
+ public virtual IEnumerable<Claim> FindAll(string type);
+ public virtual Claim FindFirst(Predicate<Claim> match);
+ public virtual Claim FindFirst(string type);
+ public virtual bool HasClaim(Predicate<Claim> match);
+ public virtual bool HasClaim(string type, string value);
+ public virtual bool IsInRole(string role);
+ public virtual void WriteTo(BinaryWriter writer);
+ protected virtual void WriteTo(BinaryWriter writer, byte[] userData);
+ }
+ public static class ClaimTypes {
+ public const string Actor = "http://schemas.xmlsoap.org/ws/2009/09/identity/claims/actor";
+ public const string Anonymous = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/anonymous";
+ public const string Authentication = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/authentication";
+ public const string AuthenticationInstant = "http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationinstant";
+ public const string AuthenticationMethod = "http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod";
+ public const string AuthorizationDecision = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/authorizationdecision";
+ public const string CookiePath = "http://schemas.microsoft.com/ws/2008/06/identity/claims/cookiepath";
+ public const string Country = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country";
+ public const string DateOfBirth = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dateofbirth";
+ public const string DenyOnlyPrimaryGroupSid = "http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarygroupsid";
+ public const string DenyOnlyPrimarySid = "http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarysid";
+ public const string DenyOnlySid = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/denyonlysid";
+ public const string DenyOnlyWindowsDeviceGroup = "http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlywindowsdevicegroup";
+ public const string Dns = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dns";
+ public const string Dsa = "http://schemas.microsoft.com/ws/2008/06/identity/claims/dsa";
+ public const string Email = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress";
+ public const string Expiration = "http://schemas.microsoft.com/ws/2008/06/identity/claims/expiration";
+ public const string Expired = "http://schemas.microsoft.com/ws/2008/06/identity/claims/expired";
+ public const string Gender = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/gender";
+ public const string GivenName = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname";
+ public const string GroupSid = "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid";
+ public const string Hash = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/hash";
+ public const string HomePhone = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/homephone";
+ public const string IsPersistent = "http://schemas.microsoft.com/ws/2008/06/identity/claims/ispersistent";
+ public const string Locality = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/locality";
+ public const string MobilePhone = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/mobilephone";
+ public const string Name = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name";
+ public const string NameIdentifier = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier";
+ public const string OtherPhone = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/otherphone";
+ public const string PostalCode = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/postalcode";
+ public const string PrimaryGroupSid = "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid";
+ public const string PrimarySid = "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid";
+ public const string Role = "http://schemas.microsoft.com/ws/2008/06/identity/claims/role";
+ public const string Rsa = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/rsa";
+ public const string SerialNumber = "http://schemas.microsoft.com/ws/2008/06/identity/claims/serialnumber";
+ public const string Sid = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/sid";
+ public const string Spn = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/spn";
+ public const string StateOrProvince = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/stateorprovince";
+ public const string StreetAddress = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress";
+ public const string Surname = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname";
+ public const string System = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/system";
+ public const string Thumbprint = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/thumbprint";
+ public const string Upn = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn";
+ public const string Uri = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/uri";
+ public const string UserData = "http://schemas.microsoft.com/ws/2008/06/identity/claims/userdata";
+ public const string Version = "http://schemas.microsoft.com/ws/2008/06/identity/claims/version";
+ public const string Webpage = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/webpage";
+ public const string WindowsAccountName = "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname";
+ public const string WindowsDeviceClaim = "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdeviceclaim";
+ public const string WindowsDeviceGroup = "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup";
+ public const string WindowsFqbnVersion = "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsfqbnversion";
+ public const string WindowsSubAuthority = "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowssubauthority";
+ public const string WindowsUserClaim = "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsuserclaim";
+ public const string X500DistinguishedName = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/x500distinguishedname";
+ }
+ public static class ClaimValueTypes {
+ public const string Base64Binary = "http://www.w3.org/2001/XMLSchema#base64Binary";
+ public const string Base64Octet = "http://www.w3.org/2001/XMLSchema#base64Octet";
+ public const string Boolean = "http://www.w3.org/2001/XMLSchema#boolean";
+ public const string Date = "http://www.w3.org/2001/XMLSchema#date";
+ public const string DateTime = "http://www.w3.org/2001/XMLSchema#dateTime";
+ public const string DaytimeDuration = "http://www.w3.org/TR/2002/WD-xquery-operators-20020816#dayTimeDuration";
+ public const string DnsName = "http://schemas.xmlsoap.org/claims/dns";
+ public const string Double = "http://www.w3.org/2001/XMLSchema#double";
+ public const string DsaKeyValue = "http://www.w3.org/2000/09/xmldsig#DSAKeyValue";
+ public const string Email = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress";
+ public const string Fqbn = "http://www.w3.org/2001/XMLSchema#fqbn";
+ public const string HexBinary = "http://www.w3.org/2001/XMLSchema#hexBinary";
+ public const string Integer = "http://www.w3.org/2001/XMLSchema#integer";
+ public const string Integer32 = "http://www.w3.org/2001/XMLSchema#integer32";
+ public const string Integer64 = "http://www.w3.org/2001/XMLSchema#integer64";
+ public const string KeyInfo = "http://www.w3.org/2000/09/xmldsig#KeyInfo";
+ public const string Rfc822Name = "urn:oasis:names:tc:xacml:1.0:data-type:rfc822Name";
+ public const string Rsa = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/rsa";
+ public const string RsaKeyValue = "http://www.w3.org/2000/09/xmldsig#RSAKeyValue";
+ public const string Sid = "http://www.w3.org/2001/XMLSchema#sid";
+ public const string String = "http://www.w3.org/2001/XMLSchema#string";
+ public const string Time = "http://www.w3.org/2001/XMLSchema#time";
+ public const string UInteger32 = "http://www.w3.org/2001/XMLSchema#uinteger32";
+ public const string UInteger64 = "http://www.w3.org/2001/XMLSchema#uinteger64";
+ public const string UpnName = "http://schemas.xmlsoap.org/claims/UPN";
+ public const string X500Name = "urn:oasis:names:tc:xacml:1.0:data-type:x500Name";
+ public const string YearMonthDuration = "http://www.w3.org/TR/2002/WD-xquery-operators-20020816#yearMonthDuration";
+ }
+}
```
# System.Security.Claims
``` diff
+namespace System.Security.Claims {
+ public class Claim {
+ public Claim(BinaryReader reader);
+ public Claim(BinaryReader reader, ClaimsIdentity subject);
+ protected Claim(Claim other);
+ protected Claim(Claim other, ClaimsIdentity subject);
+ public Claim(string type, string value);
+ public Claim(string type, string value, string valueType);
+ public Claim(string type, string value, string valueType, string issuer);
+ public Claim(string type, string value, string valueType, string issuer, string originalIssuer);
+ public Claim(string type, string value, string valueType, string issuer, string originalIssuer, ClaimsIdentity subject);
+ protected virtual byte[] CustomSerializationData { get; }
+ public string Issuer { get; }
+ public string OriginalIssuer { get; }
+ public IDictionary<string, string> Properties { get; }
+ public ClaimsIdentity Subject { get; }
+ public string Type { get; }
+ public string Value { get; }
+ public string ValueType { get; }
+ public virtual Claim Clone();
+ public virtual Claim Clone(ClaimsIdentity identity);
+ public override string ToString();
+ public virtual void WriteTo(BinaryWriter writer);
+ protected virtual void WriteTo(BinaryWriter writer, byte[] userData);
+ }
+ public class ClaimsIdentity : IIdentity {
+ public const string DefaultIssuer = "LOCAL AUTHORITY";
+ public const string DefaultNameClaimType = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name";
+ public const string DefaultRoleClaimType = "http://schemas.microsoft.com/ws/2008/06/identity/claims/role";
+ public ClaimsIdentity();
+ public ClaimsIdentity(IEnumerable<Claim> claims);
+ public ClaimsIdentity(IEnumerable<Claim> claims, string authenticationType);
+ public ClaimsIdentity(IEnumerable<Claim> claims, string authenticationType, string nameType, string roleType);
+ public ClaimsIdentity(BinaryReader reader);
+ protected ClaimsIdentity(ClaimsIdentity other);
+ public ClaimsIdentity(IIdentity identity);
+ public ClaimsIdentity(IIdentity identity, IEnumerable<Claim> claims);
+ public ClaimsIdentity(IIdentity identity, IEnumerable<Claim> claims, string authenticationType, string nameType, string roleType);
+ public ClaimsIdentity(string authenticationType);
+ public ClaimsIdentity(string authenticationType, string nameType, string roleType);
+ public ClaimsIdentity Actor { get; set; }
+ public virtual string AuthenticationType { get; }
+ public object BootstrapContext { get; set; }
+ public virtual IEnumerable<Claim> Claims { get; }
+ protected virtual byte[] CustomSerializationData { get; }
+ public virtual bool IsAuthenticated { get; }
+ public string Label { get; set; }
+ public virtual string Name { get; }
+ public string NameClaimType { get; }
+ public string RoleClaimType { get; }
+ public virtual void AddClaim(Claim claim);
+ public virtual void AddClaims(IEnumerable<Claim> claims);
+ public virtual ClaimsIdentity Clone();
+ protected virtual Claim CreateClaim(BinaryReader reader);
+ public virtual IEnumerable<Claim> FindAll(Predicate<Claim> match);
+ public virtual IEnumerable<Claim> FindAll(string type);
+ public virtual Claim FindFirst(Predicate<Claim> match);
+ public virtual Claim FindFirst(string type);
+ public virtual bool HasClaim(Predicate<Claim> match);
+ public virtual bool HasClaim(string type, string value);
+ public virtual void RemoveClaim(Claim claim);
+ public virtual bool TryRemoveClaim(Claim claim);
+ public virtual void WriteTo(BinaryWriter writer);
+ protected virtual void WriteTo(BinaryWriter writer, byte[] userData);
+ }
+ public class ClaimsPrincipal : IPrincipal {
+ public ClaimsPrincipal();
+ public ClaimsPrincipal(IEnumerable<ClaimsIdentity> identities);
+ public ClaimsPrincipal(BinaryReader reader);
+ public ClaimsPrincipal(IIdentity identity);
+ public ClaimsPrincipal(IPrincipal principal);
+ public virtual IEnumerable<Claim> Claims { get; }
+ public static Func<ClaimsPrincipal> ClaimsPrincipalSelector { get; set; }
+ public static ClaimsPrincipal Current { get; }
+ protected virtual byte[] CustomSerializationData { get; }
+ public virtual IEnumerable<ClaimsIdentity> Identities { get; }
+ public virtual IIdentity Identity { get; }
+ public static Func<IEnumerable<ClaimsIdentity>, ClaimsIdentity> PrimaryIdentitySelector { get; set; }
+ public virtual void AddIdentities(IEnumerable<ClaimsIdentity> identities);
+ public virtual void AddIdentity(ClaimsIdentity identity);
+ public virtual ClaimsPrincipal Clone();
+ protected virtual ClaimsIdentity CreateClaimsIdentity(BinaryReader reader);
+ public virtual IEnumerable<Claim> FindAll(Predicate<Claim> match);
+ public virtual IEnumerable<Claim> FindAll(string type);
+ public virtual Claim FindFirst(Predicate<Claim> match);
+ public virtual Claim FindFirst(string type);
+ public virtual bool HasClaim(Predicate<Claim> match);
+ public virtual bool HasClaim(string type, string value);
+ public virtual bool IsInRole(string role);
+ public virtual void WriteTo(BinaryWriter writer);
+ protected virtual void WriteTo(BinaryWriter writer, byte[] userData);
+ }
+ public static class ClaimTypes {
+ public const string Actor = "http://schemas.xmlsoap.org/ws/2009/09/identity/claims/actor";
+ public const string Anonymous = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/anonymous";
+ public const string Authentication = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/authentication";
+ public const string AuthenticationInstant = "http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationinstant";
+ public const string AuthenticationMethod = "http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod";
+ public const string AuthorizationDecision = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/authorizationdecision";
+ public const string CookiePath = "http://schemas.microsoft.com/ws/2008/06/identity/claims/cookiepath";
+ public const string Country = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country";
+ public const string DateOfBirth = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dateofbirth";
+ public const string DenyOnlyPrimaryGroupSid = "http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarygroupsid";
+ public const string DenyOnlyPrimarySid = "http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarysid";
+ public const string DenyOnlySid = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/denyonlysid";
+ public const string DenyOnlyWindowsDeviceGroup = "http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlywindowsdevicegroup";
+ public const string Dns = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dns";
+ public const string Dsa = "http://schemas.microsoft.com/ws/2008/06/identity/claims/dsa";
+ public const string Email = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress";
+ public const string Expiration = "http://schemas.microsoft.com/ws/2008/06/identity/claims/expiration";
+ public const string Expired = "http://schemas.microsoft.com/ws/2008/06/identity/claims/expired";
+ public const string Gender = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/gender";
+ public const string GivenName = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname";
+ public const string GroupSid = "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid";
+ public const string Hash = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/hash";
+ public const string HomePhone = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/homephone";
+ public const string IsPersistent = "http://schemas.microsoft.com/ws/2008/06/identity/claims/ispersistent";
+ public const string Locality = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/locality";
+ public const string MobilePhone = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/mobilephone";
+ public const string Name = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name";
+ public const string NameIdentifier = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier";
+ public const string OtherPhone = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/otherphone";
+ public const string PostalCode = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/postalcode";
+ public const string PrimaryGroupSid = "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid";
+ public const string PrimarySid = "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid";
+ public const string Role = "http://schemas.microsoft.com/ws/2008/06/identity/claims/role";
+ public const string Rsa = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/rsa";
+ public const string SerialNumber = "http://schemas.microsoft.com/ws/2008/06/identity/claims/serialnumber";
+ public const string Sid = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/sid";
+ public const string Spn = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/spn";
+ public const string StateOrProvince = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/stateorprovince";
+ public const string StreetAddress = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress";
+ public const string Surname = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname";
+ public const string System = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/system";
+ public const string Thumbprint = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/thumbprint";
+ public const string Upn = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn";
+ public const string Uri = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/uri";
+ public const string UserData = "http://schemas.microsoft.com/ws/2008/06/identity/claims/userdata";
+ public const string Version = "http://schemas.microsoft.com/ws/2008/06/identity/claims/version";
+ public const string Webpage = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/webpage";
+ public const string WindowsAccountName = "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname";
+ public const string WindowsDeviceClaim = "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdeviceclaim";
+ public const string WindowsDeviceGroup = "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup";
+ public const string WindowsFqbnVersion = "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsfqbnversion";
+ public const string WindowsSubAuthority = "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowssubauthority";
+ public const string WindowsUserClaim = "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsuserclaim";
+ public const string X500DistinguishedName = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/x500distinguishedname";
+ }
+ public static class ClaimValueTypes {
+ public const string Base64Binary = "http://www.w3.org/2001/XMLSchema#base64Binary";
+ public const string Base64Octet = "http://www.w3.org/2001/XMLSchema#base64Octet";
+ public const string Boolean = "http://www.w3.org/2001/XMLSchema#boolean";
+ public const string Date = "http://www.w3.org/2001/XMLSchema#date";
+ public const string DateTime = "http://www.w3.org/2001/XMLSchema#dateTime";
+ public const string DaytimeDuration = "http://www.w3.org/TR/2002/WD-xquery-operators-20020816#dayTimeDuration";
+ public const string DnsName = "http://schemas.xmlsoap.org/claims/dns";
+ public const string Double = "http://www.w3.org/2001/XMLSchema#double";
+ public const string DsaKeyValue = "http://www.w3.org/2000/09/xmldsig#DSAKeyValue";
+ public const string Email = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress";
+ public const string Fqbn = "http://www.w3.org/2001/XMLSchema#fqbn";
+ public const string HexBinary = "http://www.w3.org/2001/XMLSchema#hexBinary";
+ public const string Integer = "http://www.w3.org/2001/XMLSchema#integer";
+ public const string Integer32 = "http://www.w3.org/2001/XMLSchema#integer32";
+ public const string Integer64 = "http://www.w3.org/2001/XMLSchema#integer64";
+ public const string KeyInfo = "http://www.w3.org/2000/09/xmldsig#KeyInfo";
+ public const string Rfc822Name = "urn:oasis:names:tc:xacml:1.0:data-type:rfc822Name";
+ public const string Rsa = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/rsa";
+ public const string RsaKeyValue = "http://www.w3.org/2000/09/xmldsig#RSAKeyValue";
+ public const string Sid = "http://www.w3.org/2001/XMLSchema#sid";
+ public const string String = "http://www.w3.org/2001/XMLSchema#string";
+ public const string Time = "http://www.w3.org/2001/XMLSchema#time";
+ public const string UInteger32 = "http://www.w3.org/2001/XMLSchema#uinteger32";
+ public const string UInteger64 = "http://www.w3.org/2001/XMLSchema#uinteger64";
+ public const string UpnName = "http://schemas.xmlsoap.org/claims/UPN";
+ public const string X500Name = "urn:oasis:names:tc:xacml:1.0:data-type:x500Name";
+ public const string YearMonthDuration = "http://www.w3.org/TR/2002/WD-xquery-operators-20020816#yearMonthDuration";
+ }
+}
```

View File

@@ -1,173 +1,173 @@
# System.Security.Cryptography.Pkcs
``` diff
+namespace System.Security.Cryptography.Pkcs {
+ public sealed class AlgorithmIdentifier {
+ public AlgorithmIdentifier();
+ public AlgorithmIdentifier(Oid oid);
+ public AlgorithmIdentifier(Oid oid, int keyLength);
+ public int KeyLength { get; set; }
+ public Oid Oid { get; set; }
+ }
+ public sealed class CmsRecipient {
+ public CmsRecipient(SubjectIdentifierType recipientIdentifierType, X509Certificate2 certificate);
+ public CmsRecipient(X509Certificate2 certificate);
+ public X509Certificate2 Certificate { get; }
+ public SubjectIdentifierType RecipientIdentifierType { get; }
+ }
+ public sealed class CmsRecipientCollection : ICollection, IEnumerable {
+ public CmsRecipientCollection();
+ public CmsRecipientCollection(CmsRecipient recipient);
+ public CmsRecipientCollection(SubjectIdentifierType recipientIdentifierType, X509Certificate2Collection certificates);
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public CmsRecipient this[int index] { get; }
+ public int Add(CmsRecipient recipient);
+ public void CopyTo(Array array, int index);
+ public void CopyTo(CmsRecipient[] array, int index);
+ public CmsRecipientEnumerator GetEnumerator();
+ public void Remove(CmsRecipient recipient);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class CmsRecipientEnumerator : IEnumerator {
+ public CmsRecipient Current { get; }
+ object System.Collections.IEnumerator.Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ }
+ public sealed class ContentInfo {
+ public ContentInfo(byte[] content);
+ public ContentInfo(Oid contentType, byte[] content);
+ public byte[] Content { get; }
+ public Oid ContentType { get; }
+ public static Oid GetContentType(byte[] encodedMessage);
+ }
+ public sealed class EnvelopedCms {
+ public EnvelopedCms();
+ public EnvelopedCms(ContentInfo contentInfo);
+ public EnvelopedCms(ContentInfo contentInfo, AlgorithmIdentifier encryptionAlgorithm);
+ public X509Certificate2Collection Certificates { get; }
+ public AlgorithmIdentifier ContentEncryptionAlgorithm { get; }
+ public ContentInfo ContentInfo { get; }
+ public RecipientInfoCollection RecipientInfos { get; }
+ public CryptographicAttributeObjectCollection UnprotectedAttributes { get; }
+ public int Version { get; }
+ public void Decode(byte[] encodedMessage);
+ public void Decrypt();
+ public void Decrypt(RecipientInfo recipientInfo);
+ public void Decrypt(RecipientInfo recipientInfo, X509Certificate2Collection extraStore);
+ public void Decrypt(X509Certificate2Collection extraStore);
+ public byte[] Encode();
+ public void Encrypt(CmsRecipient recipient);
+ public void Encrypt(CmsRecipientCollection recipients);
+ }
+ public sealed class KeyAgreeRecipientInfo : RecipientInfo {
+ public DateTime Date { get; }
+ public override byte[] EncryptedKey { get; }
+ public override AlgorithmIdentifier KeyEncryptionAlgorithm { get; }
+ public SubjectIdentifierOrKey OriginatorIdentifierOrKey { get; }
+ public CryptographicAttributeObject OtherKeyAttribute { get; }
+ public override SubjectIdentifier RecipientIdentifier { get; }
+ public override int Version { get; }
+ }
+ public sealed class KeyTransRecipientInfo : RecipientInfo {
+ public override byte[] EncryptedKey { get; }
+ public override AlgorithmIdentifier KeyEncryptionAlgorithm { get; }
+ public override SubjectIdentifier RecipientIdentifier { get; }
+ public override int Version { get; }
+ }
+ public class Pkcs9AttributeObject : AsnEncodedData {
+ public Pkcs9AttributeObject();
+ public Pkcs9AttributeObject(AsnEncodedData asnEncodedData);
+ public Pkcs9AttributeObject(Oid oid, byte[] encodedData);
+ public Pkcs9AttributeObject(string oid, byte[] encodedData);
+ public new Oid Oid { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public sealed class Pkcs9ContentType : Pkcs9AttributeObject {
+ public Pkcs9ContentType();
+ public Oid ContentType { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public sealed class Pkcs9DocumentDescription : Pkcs9AttributeObject {
+ public Pkcs9DocumentDescription();
+ public Pkcs9DocumentDescription(byte[] encodedDocumentDescription);
+ public Pkcs9DocumentDescription(string documentDescription);
+ public string DocumentDescription { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public sealed class Pkcs9DocumentName : Pkcs9AttributeObject {
+ public Pkcs9DocumentName();
+ public Pkcs9DocumentName(byte[] encodedDocumentName);
+ public Pkcs9DocumentName(string documentName);
+ public string DocumentName { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public sealed class Pkcs9MessageDigest : Pkcs9AttributeObject {
+ public Pkcs9MessageDigest();
+ public byte[] MessageDigest { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public sealed class Pkcs9SigningTime : Pkcs9AttributeObject {
+ public Pkcs9SigningTime();
+ public Pkcs9SigningTime(byte[] encodedSigningTime);
+ public Pkcs9SigningTime(DateTime signingTime);
+ public DateTime SigningTime { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public sealed class PublicKeyInfo {
+ public AlgorithmIdentifier Algorithm { get; }
+ public byte[] KeyValue { get; }
+ }
+ public abstract class RecipientInfo {
+ public abstract byte[] EncryptedKey { get; }
+ public abstract AlgorithmIdentifier KeyEncryptionAlgorithm { get; }
+ public abstract SubjectIdentifier RecipientIdentifier { get; }
+ public RecipientInfoType Type { get; }
+ public abstract int Version { get; }
+ }
+ public sealed class RecipientInfoCollection : ICollection, IEnumerable {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public RecipientInfo this[int index] { get; }
+ public void CopyTo(Array array, int index);
+ public void CopyTo(RecipientInfo[] array, int index);
+ public RecipientInfoEnumerator GetEnumerator();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class RecipientInfoEnumerator : IEnumerator {
+ public RecipientInfo Current { get; }
+ object System.Collections.IEnumerator.Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ }
+ public enum RecipientInfoType {
+ KeyAgreement = 2,
+ KeyTransport = 1,
+ Unknown = 0,
+ }
+ public sealed class SubjectIdentifier {
+ public SubjectIdentifierType Type { get; }
+ public object Value { get; }
+ }
+ public sealed class SubjectIdentifierOrKey {
+ public SubjectIdentifierOrKeyType Type { get; }
+ public object Value { get; }
+ }
+ public enum SubjectIdentifierOrKeyType {
+ IssuerAndSerialNumber = 1,
+ PublicKeyInfo = 3,
+ SubjectKeyIdentifier = 2,
+ Unknown = 0,
+ }
+ public enum SubjectIdentifierType {
+ IssuerAndSerialNumber = 1,
+ NoSignature = 3,
+ SubjectKeyIdentifier = 2,
+ Unknown = 0,
+ }
+}
```
# System.Security.Cryptography.Pkcs
``` diff
+namespace System.Security.Cryptography.Pkcs {
+ public sealed class AlgorithmIdentifier {
+ public AlgorithmIdentifier();
+ public AlgorithmIdentifier(Oid oid);
+ public AlgorithmIdentifier(Oid oid, int keyLength);
+ public int KeyLength { get; set; }
+ public Oid Oid { get; set; }
+ }
+ public sealed class CmsRecipient {
+ public CmsRecipient(SubjectIdentifierType recipientIdentifierType, X509Certificate2 certificate);
+ public CmsRecipient(X509Certificate2 certificate);
+ public X509Certificate2 Certificate { get; }
+ public SubjectIdentifierType RecipientIdentifierType { get; }
+ }
+ public sealed class CmsRecipientCollection : ICollection, IEnumerable {
+ public CmsRecipientCollection();
+ public CmsRecipientCollection(CmsRecipient recipient);
+ public CmsRecipientCollection(SubjectIdentifierType recipientIdentifierType, X509Certificate2Collection certificates);
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public CmsRecipient this[int index] { get; }
+ public int Add(CmsRecipient recipient);
+ public void CopyTo(Array array, int index);
+ public void CopyTo(CmsRecipient[] array, int index);
+ public CmsRecipientEnumerator GetEnumerator();
+ public void Remove(CmsRecipient recipient);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class CmsRecipientEnumerator : IEnumerator {
+ public CmsRecipient Current { get; }
+ object System.Collections.IEnumerator.Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ }
+ public sealed class ContentInfo {
+ public ContentInfo(byte[] content);
+ public ContentInfo(Oid contentType, byte[] content);
+ public byte[] Content { get; }
+ public Oid ContentType { get; }
+ public static Oid GetContentType(byte[] encodedMessage);
+ }
+ public sealed class EnvelopedCms {
+ public EnvelopedCms();
+ public EnvelopedCms(ContentInfo contentInfo);
+ public EnvelopedCms(ContentInfo contentInfo, AlgorithmIdentifier encryptionAlgorithm);
+ public X509Certificate2Collection Certificates { get; }
+ public AlgorithmIdentifier ContentEncryptionAlgorithm { get; }
+ public ContentInfo ContentInfo { get; }
+ public RecipientInfoCollection RecipientInfos { get; }
+ public CryptographicAttributeObjectCollection UnprotectedAttributes { get; }
+ public int Version { get; }
+ public void Decode(byte[] encodedMessage);
+ public void Decrypt();
+ public void Decrypt(RecipientInfo recipientInfo);
+ public void Decrypt(RecipientInfo recipientInfo, X509Certificate2Collection extraStore);
+ public void Decrypt(X509Certificate2Collection extraStore);
+ public byte[] Encode();
+ public void Encrypt(CmsRecipient recipient);
+ public void Encrypt(CmsRecipientCollection recipients);
+ }
+ public sealed class KeyAgreeRecipientInfo : RecipientInfo {
+ public DateTime Date { get; }
+ public override byte[] EncryptedKey { get; }
+ public override AlgorithmIdentifier KeyEncryptionAlgorithm { get; }
+ public SubjectIdentifierOrKey OriginatorIdentifierOrKey { get; }
+ public CryptographicAttributeObject OtherKeyAttribute { get; }
+ public override SubjectIdentifier RecipientIdentifier { get; }
+ public override int Version { get; }
+ }
+ public sealed class KeyTransRecipientInfo : RecipientInfo {
+ public override byte[] EncryptedKey { get; }
+ public override AlgorithmIdentifier KeyEncryptionAlgorithm { get; }
+ public override SubjectIdentifier RecipientIdentifier { get; }
+ public override int Version { get; }
+ }
+ public class Pkcs9AttributeObject : AsnEncodedData {
+ public Pkcs9AttributeObject();
+ public Pkcs9AttributeObject(AsnEncodedData asnEncodedData);
+ public Pkcs9AttributeObject(Oid oid, byte[] encodedData);
+ public Pkcs9AttributeObject(string oid, byte[] encodedData);
+ public new Oid Oid { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public sealed class Pkcs9ContentType : Pkcs9AttributeObject {
+ public Pkcs9ContentType();
+ public Oid ContentType { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public sealed class Pkcs9DocumentDescription : Pkcs9AttributeObject {
+ public Pkcs9DocumentDescription();
+ public Pkcs9DocumentDescription(byte[] encodedDocumentDescription);
+ public Pkcs9DocumentDescription(string documentDescription);
+ public string DocumentDescription { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public sealed class Pkcs9DocumentName : Pkcs9AttributeObject {
+ public Pkcs9DocumentName();
+ public Pkcs9DocumentName(byte[] encodedDocumentName);
+ public Pkcs9DocumentName(string documentName);
+ public string DocumentName { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public sealed class Pkcs9MessageDigest : Pkcs9AttributeObject {
+ public Pkcs9MessageDigest();
+ public byte[] MessageDigest { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public sealed class Pkcs9SigningTime : Pkcs9AttributeObject {
+ public Pkcs9SigningTime();
+ public Pkcs9SigningTime(byte[] encodedSigningTime);
+ public Pkcs9SigningTime(DateTime signingTime);
+ public DateTime SigningTime { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public sealed class PublicKeyInfo {
+ public AlgorithmIdentifier Algorithm { get; }
+ public byte[] KeyValue { get; }
+ }
+ public abstract class RecipientInfo {
+ public abstract byte[] EncryptedKey { get; }
+ public abstract AlgorithmIdentifier KeyEncryptionAlgorithm { get; }
+ public abstract SubjectIdentifier RecipientIdentifier { get; }
+ public RecipientInfoType Type { get; }
+ public abstract int Version { get; }
+ }
+ public sealed class RecipientInfoCollection : ICollection, IEnumerable {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public RecipientInfo this[int index] { get; }
+ public void CopyTo(Array array, int index);
+ public void CopyTo(RecipientInfo[] array, int index);
+ public RecipientInfoEnumerator GetEnumerator();
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class RecipientInfoEnumerator : IEnumerator {
+ public RecipientInfo Current { get; }
+ object System.Collections.IEnumerator.Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ }
+ public enum RecipientInfoType {
+ KeyAgreement = 2,
+ KeyTransport = 1,
+ Unknown = 0,
+ }
+ public sealed class SubjectIdentifier {
+ public SubjectIdentifierType Type { get; }
+ public object Value { get; }
+ }
+ public sealed class SubjectIdentifierOrKey {
+ public SubjectIdentifierOrKeyType Type { get; }
+ public object Value { get; }
+ }
+ public enum SubjectIdentifierOrKeyType {
+ IssuerAndSerialNumber = 1,
+ PublicKeyInfo = 3,
+ SubjectKeyIdentifier = 2,
+ Unknown = 0,
+ }
+ public enum SubjectIdentifierType {
+ IssuerAndSerialNumber = 1,
+ NoSignature = 3,
+ SubjectKeyIdentifier = 2,
+ Unknown = 0,
+ }
+}
```

View File

@@ -1,427 +1,427 @@
# System.Security.Cryptography.X509Certificates
``` diff
+namespace System.Security.Cryptography.X509Certificates {
+ public static class ECDsaCertificateExtensions {
+ public static ECDsa GetECDsaPrivateKey(this X509Certificate2 certificate);
+ public static ECDsa GetECDsaPublicKey(this X509Certificate2 certificate);
+ }
+ public enum OpenFlags {
+ IncludeArchived = 8,
+ MaxAllowed = 2,
+ OpenExistingOnly = 4,
+ ReadOnly = 0,
+ ReadWrite = 1,
+ }
+ public sealed class PublicKey {
+ public PublicKey(Oid oid, AsnEncodedData parameters, AsnEncodedData keyValue);
+ public AsnEncodedData EncodedKeyValue { get; }
+ public AsnEncodedData EncodedParameters { get; }
+ public Oid Oid { get; }
+ }
+ public static class RSACertificateExtensions {
+ public static RSA GetRSAPrivateKey(this X509Certificate2 certificate);
+ public static RSA GetRSAPublicKey(this X509Certificate2 certificate);
+ }
+ public enum StoreLocation {
+ CurrentUser = 1,
+ LocalMachine = 2,
+ }
+ public enum StoreName {
+ AddressBook = 1,
+ AuthRoot = 2,
+ CertificateAuthority = 3,
+ Disallowed = 4,
+ My = 5,
+ Root = 6,
+ TrustedPeople = 7,
+ TrustedPublisher = 8,
+ }
+ public sealed class X500DistinguishedName : AsnEncodedData {
+ public X500DistinguishedName(byte[] encodedDistinguishedName);
+ public X500DistinguishedName(AsnEncodedData encodedDistinguishedName);
+ public X500DistinguishedName(X500DistinguishedName distinguishedName);
+ public X500DistinguishedName(string distinguishedName);
+ public X500DistinguishedName(string distinguishedName, X500DistinguishedNameFlags flag);
+ public string Name { get; }
+ public string Decode(X500DistinguishedNameFlags flag);
+ public override string Format(bool multiLine);
+ }
+ public enum X500DistinguishedNameFlags {
+ DoNotUsePlusSign = 32,
+ DoNotUseQuotes = 64,
+ ForceUTF8Encoding = 16384,
+ None = 0,
+ Reversed = 1,
+ UseCommas = 128,
+ UseNewLines = 256,
+ UseSemicolons = 16,
+ UseT61Encoding = 8192,
+ UseUTF8Encoding = 4096,
+ }
+ public sealed class X509BasicConstraintsExtension : X509Extension {
+ public X509BasicConstraintsExtension();
+ public X509BasicConstraintsExtension(bool certificateAuthority, bool hasPathLengthConstraint, int pathLengthConstraint, bool critical);
+ public X509BasicConstraintsExtension(AsnEncodedData encodedBasicConstraints, bool critical);
+ public bool CertificateAuthority { get; }
+ public bool HasPathLengthConstraint { get; }
+ public int PathLengthConstraint { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public class X509Certificate : IDisposable {
+ public X509Certificate();
+ public X509Certificate(byte[] data);
+ public X509Certificate(byte[] rawData, string password);
+ public X509Certificate(byte[] rawData, string password, X509KeyStorageFlags keyStorageFlags);
+ public X509Certificate(IntPtr handle);
+ public X509Certificate(string fileName);
+ public X509Certificate(string fileName, string password);
+ public X509Certificate(string fileName, string password, X509KeyStorageFlags keyStorageFlags);
+ public IntPtr Handle { get; }
+ public string Issuer { get; }
+ public string Subject { get; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public override bool Equals(object obj);
+ public virtual bool Equals(X509Certificate other);
+ public virtual byte[] Export(X509ContentType contentType);
+ public virtual byte[] Export(X509ContentType contentType, string password);
+ public virtual byte[] GetCertHash();
+ public virtual string GetFormat();
+ public override int GetHashCode();
+ public virtual string GetKeyAlgorithm();
+ public virtual byte[] GetKeyAlgorithmParameters();
+ public virtual string GetKeyAlgorithmParametersString();
+ public virtual byte[] GetPublicKey();
+ public virtual byte[] GetSerialNumber();
+ public override string ToString();
+ public virtual string ToString(bool fVerbose);
+ }
+ public class X509Certificate2 : X509Certificate {
+ public X509Certificate2();
+ public X509Certificate2(byte[] rawData);
+ public X509Certificate2(byte[] rawData, string password);
+ public X509Certificate2(byte[] rawData, string password, X509KeyStorageFlags keyStorageFlags);
+ public X509Certificate2(IntPtr handle);
+ public X509Certificate2(string fileName);
+ public X509Certificate2(string fileName, string password);
+ public X509Certificate2(string fileName, string password, X509KeyStorageFlags keyStorageFlags);
+ public bool Archived { get; set; }
+ public X509ExtensionCollection Extensions { get; }
+ public string FriendlyName { get; set; }
+ public bool HasPrivateKey { get; }
+ public X500DistinguishedName IssuerName { get; }
+ public DateTime NotAfter { get; }
+ public DateTime NotBefore { get; }
+ public PublicKey PublicKey { get; }
+ public byte[] RawData { get; }
+ public string SerialNumber { get; }
+ public Oid SignatureAlgorithm { get; }
+ public X500DistinguishedName SubjectName { get; }
+ public string Thumbprint { get; }
+ public int Version { get; }
+ public static X509ContentType GetCertContentType(byte[] rawData);
+ public static X509ContentType GetCertContentType(string fileName);
+ public string GetNameInfo(X509NameType nameType, bool forIssuer);
+ public override string ToString();
+ public override string ToString(bool verbose);
+ }
+ public class X509Certificate2Collection : X509CertificateCollection {
+ public X509Certificate2Collection();
+ public X509Certificate2Collection(X509Certificate2 certificate);
+ public X509Certificate2Collection(X509Certificate2[] certificates);
+ public X509Certificate2Collection(X509Certificate2Collection certificates);
+ public new X509Certificate2 this[int index] { get; set; }
+ public int Add(X509Certificate2 certificate);
+ public void AddRange(X509Certificate2[] certificates);
+ public void AddRange(X509Certificate2Collection certificates);
+ public bool Contains(X509Certificate2 certificate);
+ public byte[] Export(X509ContentType contentType);
+ public byte[] Export(X509ContentType contentType, string password);
+ public X509Certificate2Collection Find(X509FindType findType, object findValue, bool validOnly);
+ public new X509Certificate2Enumerator GetEnumerator();
+ public void Import(byte[] rawData);
+ public void Import(byte[] rawData, string password, X509KeyStorageFlags keyStorageFlags);
+ public void Import(string fileName);
+ public void Import(string fileName, string password, X509KeyStorageFlags keyStorageFlags);
+ public void Insert(int index, X509Certificate2 certificate);
+ public void Remove(X509Certificate2 certificate);
+ public void RemoveRange(X509Certificate2[] certificates);
+ public void RemoveRange(X509Certificate2Collection certificates);
+ }
+ public sealed class X509Certificate2Enumerator : IEnumerator {
+ public X509Certificate2 Current { get; }
+ object System.Collections.IEnumerator.Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ bool System.Collections.IEnumerator.MoveNext();
+ void System.Collections.IEnumerator.Reset();
+ }
+ public class X509CertificateCollection : ICollection, IEnumerable, IList {
+ public X509CertificateCollection();
+ public X509CertificateCollection(X509Certificate[] value);
+ public X509CertificateCollection(X509CertificateCollection value);
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IList.IsFixedSize { get; }
+ bool System.Collections.IList.IsReadOnly { get; }
+ object System.Collections.IList.this[int index] { get; set; }
+ public X509Certificate this[int index] { get; set; }
+ public int Add(X509Certificate value);
+ public void AddRange(X509Certificate[] value);
+ public void AddRange(X509CertificateCollection value);
+ public void Clear();
+ public bool Contains(X509Certificate value);
+ public void CopyTo(X509Certificate[] array, int index);
+ public X509CertificateCollection.X509CertificateEnumerator GetEnumerator();
+ public override int GetHashCode();
+ public int IndexOf(X509Certificate value);
+ public void Insert(int index, X509Certificate value);
+ public void Remove(X509Certificate value);
+ public void RemoveAt(int index);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ int System.Collections.IList.Add(object value);
+ bool System.Collections.IList.Contains(object value);
+ int System.Collections.IList.IndexOf(object value);
+ void System.Collections.IList.Insert(int index, object value);
+ void System.Collections.IList.Remove(object value);
+ public class X509CertificateEnumerator : IEnumerator {
+ public X509CertificateEnumerator(X509CertificateCollection mappings);
+ public X509Certificate Current { get; }
+ object System.Collections.IEnumerator.Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ bool System.Collections.IEnumerator.MoveNext();
+ void System.Collections.IEnumerator.Reset();
+ }
+ }
+ public class X509Chain : IDisposable {
+ public X509Chain();
+ public X509ChainElementCollection ChainElements { get; }
+ public X509ChainPolicy ChainPolicy { get; set; }
+ public X509ChainStatus[] ChainStatus { get; }
+ public SafeX509ChainHandle SafeHandle { get; }
+ public bool Build(X509Certificate2 certificate);
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ }
+ public class X509ChainElement {
+ public X509Certificate2 Certificate { get; }
+ public X509ChainStatus[] ChainElementStatus { get; }
+ public string Information { get; }
+ }
+ public sealed class X509ChainElementCollection : ICollection, IEnumerable {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public X509ChainElement this[int index] { get; }
+ public void CopyTo(X509ChainElement[] array, int index);
+ public X509ChainElementEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class X509ChainElementEnumerator : IEnumerator {
+ public X509ChainElement Current { get; }
+ object System.Collections.IEnumerator.Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ }
+ public sealed class X509ChainPolicy {
+ public X509ChainPolicy();
+ public OidCollection ApplicationPolicy { get; }
+ public OidCollection CertificatePolicy { get; }
+ public X509Certificate2Collection ExtraStore { get; }
+ public X509RevocationFlag RevocationFlag { get; set; }
+ public X509RevocationMode RevocationMode { get; set; }
+ public TimeSpan UrlRetrievalTimeout { get; set; }
+ public X509VerificationFlags VerificationFlags { get; set; }
+ public DateTime VerificationTime { get; set; }
+ public void Reset();
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct X509ChainStatus {
+ public X509ChainStatusFlags Status { get; set; }
+ public string StatusInformation { get; set; }
+ }
+ public enum X509ChainStatusFlags {
+ CtlNotSignatureValid = 262144,
+ CtlNotTimeValid = 131072,
+ CtlNotValidForUsage = 524288,
+ Cyclic = 128,
+ ExplicitDistrust = 67108864,
+ HasExcludedNameConstraint = 32768,
+ HasNotDefinedNameConstraint = 8192,
+ HasNotPermittedNameConstraint = 16384,
+ HasNotSupportedCriticalExtension = 134217728,
+ HasNotSupportedNameConstraint = 4096,
+ HasWeakSignature = 1048576,
+ InvalidBasicConstraints = 1024,
+ InvalidExtension = 256,
+ InvalidNameConstraints = 2048,
+ InvalidPolicyConstraints = 512,
+ NoError = 0,
+ NoIssuanceChainPolicy = 33554432,
+ NotSignatureValid = 8,
+ NotTimeNested = 2,
+ NotTimeValid = 1,
+ NotValidForUsage = 16,
+ OfflineRevocation = 16777216,
+ PartialChain = 65536,
+ RevocationStatusUnknown = 64,
+ Revoked = 4,
+ UntrustedRoot = 32,
+ }
+ public enum X509ContentType {
+ Authenticode = 6,
+ Cert = 1,
+ Pfx = 3,
+ Pkcs12 = 3,
+ Pkcs7 = 5,
+ SerializedCert = 2,
+ SerializedStore = 4,
+ Unknown = 0,
+ }
+ public sealed class X509EnhancedKeyUsageExtension : X509Extension {
+ public X509EnhancedKeyUsageExtension();
+ public X509EnhancedKeyUsageExtension(AsnEncodedData encodedEnhancedKeyUsages, bool critical);
+ public X509EnhancedKeyUsageExtension(OidCollection enhancedKeyUsages, bool critical);
+ public OidCollection EnhancedKeyUsages { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public class X509Extension : AsnEncodedData {
+ protected X509Extension();
+ public X509Extension(AsnEncodedData encodedExtension, bool critical);
+ public X509Extension(Oid oid, byte[] rawData, bool critical);
+ public X509Extension(string oid, byte[] rawData, bool critical);
+ public bool Critical { get; set; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public sealed class X509ExtensionCollection : ICollection, IEnumerable {
+ public X509ExtensionCollection();
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public X509Extension this[int index] { get; }
+ public X509Extension this[string oid] { get; }
+ public int Add(X509Extension extension);
+ public void CopyTo(X509Extension[] array, int index);
+ public X509ExtensionEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class X509ExtensionEnumerator : IEnumerator {
+ public X509Extension Current { get; }
+ object System.Collections.IEnumerator.Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ }
+ public enum X509FindType {
+ FindByApplicationPolicy = 10,
+ FindByCertificatePolicy = 11,
+ FindByExtension = 12,
+ FindByIssuerDistinguishedName = 4,
+ FindByIssuerName = 3,
+ FindByKeyUsage = 13,
+ FindBySerialNumber = 5,
+ FindBySubjectDistinguishedName = 2,
+ FindBySubjectKeyIdentifier = 14,
+ FindBySubjectName = 1,
+ FindByTemplateName = 9,
+ FindByThumbprint = 0,
+ FindByTimeExpired = 8,
+ FindByTimeNotYetValid = 7,
+ FindByTimeValid = 6,
+ }
+ public enum X509KeyStorageFlags {
+ DefaultKeySet = 0,
+ Exportable = 4,
+ MachineKeySet = 2,
+ PersistKeySet = 16,
+ UserKeySet = 1,
+ UserProtected = 8,
+ }
+ public sealed class X509KeyUsageExtension : X509Extension {
+ public X509KeyUsageExtension();
+ public X509KeyUsageExtension(AsnEncodedData encodedKeyUsage, bool critical);
+ public X509KeyUsageExtension(X509KeyUsageFlags keyUsages, bool critical);
+ public X509KeyUsageFlags KeyUsages { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public enum X509KeyUsageFlags {
+ CrlSign = 2,
+ DataEncipherment = 16,
+ DecipherOnly = 32768,
+ DigitalSignature = 128,
+ EncipherOnly = 1,
+ KeyAgreement = 8,
+ KeyCertSign = 4,
+ KeyEncipherment = 32,
+ None = 0,
+ NonRepudiation = 64,
+ }
+ public enum X509NameType {
+ DnsFromAlternativeName = 4,
+ DnsName = 3,
+ EmailName = 1,
+ SimpleName = 0,
+ UpnName = 2,
+ UrlName = 5,
+ }
+ public enum X509RevocationFlag {
+ EndCertificateOnly = 0,
+ EntireChain = 1,
+ ExcludeRoot = 2,
+ }
+ public enum X509RevocationMode {
+ NoCheck = 0,
+ Offline = 2,
+ Online = 1,
+ }
+ public sealed class X509Store : IDisposable {
+ public X509Store();
+ public X509Store(StoreName storeName, StoreLocation storeLocation);
+ public X509Store(string storeName, StoreLocation storeLocation);
+ public X509Certificate2Collection Certificates { get; }
+ public StoreLocation Location { get; }
+ public string Name { get; }
+ public void Add(X509Certificate2 certificate);
+ public void Dispose();
+ public void Open(OpenFlags flags);
+ public void Remove(X509Certificate2 certificate);
+ }
+ public sealed class X509SubjectKeyIdentifierExtension : X509Extension {
+ public X509SubjectKeyIdentifierExtension();
+ public X509SubjectKeyIdentifierExtension(byte[] subjectKeyIdentifier, bool critical);
+ public X509SubjectKeyIdentifierExtension(AsnEncodedData encodedSubjectKeyIdentifier, bool critical);
+ public X509SubjectKeyIdentifierExtension(PublicKey key, bool critical);
+ public X509SubjectKeyIdentifierExtension(PublicKey key, X509SubjectKeyIdentifierHashAlgorithm algorithm, bool critical);
+ public X509SubjectKeyIdentifierExtension(string subjectKeyIdentifier, bool critical);
+ public string SubjectKeyIdentifier { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public enum X509SubjectKeyIdentifierHashAlgorithm {
+ CapiSha1 = 2,
+ Sha1 = 0,
+ ShortSha1 = 1,
+ }
+ public enum X509VerificationFlags {
+ AllFlags = 4095,
+ AllowUnknownCertificateAuthority = 16,
+ IgnoreCertificateAuthorityRevocationUnknown = 1024,
+ IgnoreCtlNotTimeValid = 2,
+ IgnoreCtlSignerRevocationUnknown = 512,
+ IgnoreEndRevocationUnknown = 256,
+ IgnoreInvalidBasicConstraints = 8,
+ IgnoreInvalidName = 64,
+ IgnoreInvalidPolicy = 128,
+ IgnoreNotTimeNested = 4,
+ IgnoreNotTimeValid = 1,
+ IgnoreRootRevocationUnknown = 2048,
+ IgnoreWrongUsage = 32,
+ NoFlag = 0,
+ }
+}
```
# System.Security.Cryptography.X509Certificates
``` diff
+namespace System.Security.Cryptography.X509Certificates {
+ public static class ECDsaCertificateExtensions {
+ public static ECDsa GetECDsaPrivateKey(this X509Certificate2 certificate);
+ public static ECDsa GetECDsaPublicKey(this X509Certificate2 certificate);
+ }
+ public enum OpenFlags {
+ IncludeArchived = 8,
+ MaxAllowed = 2,
+ OpenExistingOnly = 4,
+ ReadOnly = 0,
+ ReadWrite = 1,
+ }
+ public sealed class PublicKey {
+ public PublicKey(Oid oid, AsnEncodedData parameters, AsnEncodedData keyValue);
+ public AsnEncodedData EncodedKeyValue { get; }
+ public AsnEncodedData EncodedParameters { get; }
+ public Oid Oid { get; }
+ }
+ public static class RSACertificateExtensions {
+ public static RSA GetRSAPrivateKey(this X509Certificate2 certificate);
+ public static RSA GetRSAPublicKey(this X509Certificate2 certificate);
+ }
+ public enum StoreLocation {
+ CurrentUser = 1,
+ LocalMachine = 2,
+ }
+ public enum StoreName {
+ AddressBook = 1,
+ AuthRoot = 2,
+ CertificateAuthority = 3,
+ Disallowed = 4,
+ My = 5,
+ Root = 6,
+ TrustedPeople = 7,
+ TrustedPublisher = 8,
+ }
+ public sealed class X500DistinguishedName : AsnEncodedData {
+ public X500DistinguishedName(byte[] encodedDistinguishedName);
+ public X500DistinguishedName(AsnEncodedData encodedDistinguishedName);
+ public X500DistinguishedName(X500DistinguishedName distinguishedName);
+ public X500DistinguishedName(string distinguishedName);
+ public X500DistinguishedName(string distinguishedName, X500DistinguishedNameFlags flag);
+ public string Name { get; }
+ public string Decode(X500DistinguishedNameFlags flag);
+ public override string Format(bool multiLine);
+ }
+ public enum X500DistinguishedNameFlags {
+ DoNotUsePlusSign = 32,
+ DoNotUseQuotes = 64,
+ ForceUTF8Encoding = 16384,
+ None = 0,
+ Reversed = 1,
+ UseCommas = 128,
+ UseNewLines = 256,
+ UseSemicolons = 16,
+ UseT61Encoding = 8192,
+ UseUTF8Encoding = 4096,
+ }
+ public sealed class X509BasicConstraintsExtension : X509Extension {
+ public X509BasicConstraintsExtension();
+ public X509BasicConstraintsExtension(bool certificateAuthority, bool hasPathLengthConstraint, int pathLengthConstraint, bool critical);
+ public X509BasicConstraintsExtension(AsnEncodedData encodedBasicConstraints, bool critical);
+ public bool CertificateAuthority { get; }
+ public bool HasPathLengthConstraint { get; }
+ public int PathLengthConstraint { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public class X509Certificate : IDisposable {
+ public X509Certificate();
+ public X509Certificate(byte[] data);
+ public X509Certificate(byte[] rawData, string password);
+ public X509Certificate(byte[] rawData, string password, X509KeyStorageFlags keyStorageFlags);
+ public X509Certificate(IntPtr handle);
+ public X509Certificate(string fileName);
+ public X509Certificate(string fileName, string password);
+ public X509Certificate(string fileName, string password, X509KeyStorageFlags keyStorageFlags);
+ public IntPtr Handle { get; }
+ public string Issuer { get; }
+ public string Subject { get; }
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public override bool Equals(object obj);
+ public virtual bool Equals(X509Certificate other);
+ public virtual byte[] Export(X509ContentType contentType);
+ public virtual byte[] Export(X509ContentType contentType, string password);
+ public virtual byte[] GetCertHash();
+ public virtual string GetFormat();
+ public override int GetHashCode();
+ public virtual string GetKeyAlgorithm();
+ public virtual byte[] GetKeyAlgorithmParameters();
+ public virtual string GetKeyAlgorithmParametersString();
+ public virtual byte[] GetPublicKey();
+ public virtual byte[] GetSerialNumber();
+ public override string ToString();
+ public virtual string ToString(bool fVerbose);
+ }
+ public class X509Certificate2 : X509Certificate {
+ public X509Certificate2();
+ public X509Certificate2(byte[] rawData);
+ public X509Certificate2(byte[] rawData, string password);
+ public X509Certificate2(byte[] rawData, string password, X509KeyStorageFlags keyStorageFlags);
+ public X509Certificate2(IntPtr handle);
+ public X509Certificate2(string fileName);
+ public X509Certificate2(string fileName, string password);
+ public X509Certificate2(string fileName, string password, X509KeyStorageFlags keyStorageFlags);
+ public bool Archived { get; set; }
+ public X509ExtensionCollection Extensions { get; }
+ public string FriendlyName { get; set; }
+ public bool HasPrivateKey { get; }
+ public X500DistinguishedName IssuerName { get; }
+ public DateTime NotAfter { get; }
+ public DateTime NotBefore { get; }
+ public PublicKey PublicKey { get; }
+ public byte[] RawData { get; }
+ public string SerialNumber { get; }
+ public Oid SignatureAlgorithm { get; }
+ public X500DistinguishedName SubjectName { get; }
+ public string Thumbprint { get; }
+ public int Version { get; }
+ public static X509ContentType GetCertContentType(byte[] rawData);
+ public static X509ContentType GetCertContentType(string fileName);
+ public string GetNameInfo(X509NameType nameType, bool forIssuer);
+ public override string ToString();
+ public override string ToString(bool verbose);
+ }
+ public class X509Certificate2Collection : X509CertificateCollection {
+ public X509Certificate2Collection();
+ public X509Certificate2Collection(X509Certificate2 certificate);
+ public X509Certificate2Collection(X509Certificate2[] certificates);
+ public X509Certificate2Collection(X509Certificate2Collection certificates);
+ public new X509Certificate2 this[int index] { get; set; }
+ public int Add(X509Certificate2 certificate);
+ public void AddRange(X509Certificate2[] certificates);
+ public void AddRange(X509Certificate2Collection certificates);
+ public bool Contains(X509Certificate2 certificate);
+ public byte[] Export(X509ContentType contentType);
+ public byte[] Export(X509ContentType contentType, string password);
+ public X509Certificate2Collection Find(X509FindType findType, object findValue, bool validOnly);
+ public new X509Certificate2Enumerator GetEnumerator();
+ public void Import(byte[] rawData);
+ public void Import(byte[] rawData, string password, X509KeyStorageFlags keyStorageFlags);
+ public void Import(string fileName);
+ public void Import(string fileName, string password, X509KeyStorageFlags keyStorageFlags);
+ public void Insert(int index, X509Certificate2 certificate);
+ public void Remove(X509Certificate2 certificate);
+ public void RemoveRange(X509Certificate2[] certificates);
+ public void RemoveRange(X509Certificate2Collection certificates);
+ }
+ public sealed class X509Certificate2Enumerator : IEnumerator {
+ public X509Certificate2 Current { get; }
+ object System.Collections.IEnumerator.Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ bool System.Collections.IEnumerator.MoveNext();
+ void System.Collections.IEnumerator.Reset();
+ }
+ public class X509CertificateCollection : ICollection, IEnumerable, IList {
+ public X509CertificateCollection();
+ public X509CertificateCollection(X509Certificate[] value);
+ public X509CertificateCollection(X509CertificateCollection value);
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ bool System.Collections.IList.IsFixedSize { get; }
+ bool System.Collections.IList.IsReadOnly { get; }
+ object System.Collections.IList.this[int index] { get; set; }
+ public X509Certificate this[int index] { get; set; }
+ public int Add(X509Certificate value);
+ public void AddRange(X509Certificate[] value);
+ public void AddRange(X509CertificateCollection value);
+ public void Clear();
+ public bool Contains(X509Certificate value);
+ public void CopyTo(X509Certificate[] array, int index);
+ public X509CertificateCollection.X509CertificateEnumerator GetEnumerator();
+ public override int GetHashCode();
+ public int IndexOf(X509Certificate value);
+ public void Insert(int index, X509Certificate value);
+ public void Remove(X509Certificate value);
+ public void RemoveAt(int index);
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ int System.Collections.IList.Add(object value);
+ bool System.Collections.IList.Contains(object value);
+ int System.Collections.IList.IndexOf(object value);
+ void System.Collections.IList.Insert(int index, object value);
+ void System.Collections.IList.Remove(object value);
+ public class X509CertificateEnumerator : IEnumerator {
+ public X509CertificateEnumerator(X509CertificateCollection mappings);
+ public X509Certificate Current { get; }
+ object System.Collections.IEnumerator.Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ bool System.Collections.IEnumerator.MoveNext();
+ void System.Collections.IEnumerator.Reset();
+ }
+ }
+ public class X509Chain : IDisposable {
+ public X509Chain();
+ public X509ChainElementCollection ChainElements { get; }
+ public X509ChainPolicy ChainPolicy { get; set; }
+ public X509ChainStatus[] ChainStatus { get; }
+ public SafeX509ChainHandle SafeHandle { get; }
+ public bool Build(X509Certificate2 certificate);
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ }
+ public class X509ChainElement {
+ public X509Certificate2 Certificate { get; }
+ public X509ChainStatus[] ChainElementStatus { get; }
+ public string Information { get; }
+ }
+ public sealed class X509ChainElementCollection : ICollection, IEnumerable {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public X509ChainElement this[int index] { get; }
+ public void CopyTo(X509ChainElement[] array, int index);
+ public X509ChainElementEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class X509ChainElementEnumerator : IEnumerator {
+ public X509ChainElement Current { get; }
+ object System.Collections.IEnumerator.Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ }
+ public sealed class X509ChainPolicy {
+ public X509ChainPolicy();
+ public OidCollection ApplicationPolicy { get; }
+ public OidCollection CertificatePolicy { get; }
+ public X509Certificate2Collection ExtraStore { get; }
+ public X509RevocationFlag RevocationFlag { get; set; }
+ public X509RevocationMode RevocationMode { get; set; }
+ public TimeSpan UrlRetrievalTimeout { get; set; }
+ public X509VerificationFlags VerificationFlags { get; set; }
+ public DateTime VerificationTime { get; set; }
+ public void Reset();
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct X509ChainStatus {
+ public X509ChainStatusFlags Status { get; set; }
+ public string StatusInformation { get; set; }
+ }
+ public enum X509ChainStatusFlags {
+ CtlNotSignatureValid = 262144,
+ CtlNotTimeValid = 131072,
+ CtlNotValidForUsage = 524288,
+ Cyclic = 128,
+ ExplicitDistrust = 67108864,
+ HasExcludedNameConstraint = 32768,
+ HasNotDefinedNameConstraint = 8192,
+ HasNotPermittedNameConstraint = 16384,
+ HasNotSupportedCriticalExtension = 134217728,
+ HasNotSupportedNameConstraint = 4096,
+ HasWeakSignature = 1048576,
+ InvalidBasicConstraints = 1024,
+ InvalidExtension = 256,
+ InvalidNameConstraints = 2048,
+ InvalidPolicyConstraints = 512,
+ NoError = 0,
+ NoIssuanceChainPolicy = 33554432,
+ NotSignatureValid = 8,
+ NotTimeNested = 2,
+ NotTimeValid = 1,
+ NotValidForUsage = 16,
+ OfflineRevocation = 16777216,
+ PartialChain = 65536,
+ RevocationStatusUnknown = 64,
+ Revoked = 4,
+ UntrustedRoot = 32,
+ }
+ public enum X509ContentType {
+ Authenticode = 6,
+ Cert = 1,
+ Pfx = 3,
+ Pkcs12 = 3,
+ Pkcs7 = 5,
+ SerializedCert = 2,
+ SerializedStore = 4,
+ Unknown = 0,
+ }
+ public sealed class X509EnhancedKeyUsageExtension : X509Extension {
+ public X509EnhancedKeyUsageExtension();
+ public X509EnhancedKeyUsageExtension(AsnEncodedData encodedEnhancedKeyUsages, bool critical);
+ public X509EnhancedKeyUsageExtension(OidCollection enhancedKeyUsages, bool critical);
+ public OidCollection EnhancedKeyUsages { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public class X509Extension : AsnEncodedData {
+ protected X509Extension();
+ public X509Extension(AsnEncodedData encodedExtension, bool critical);
+ public X509Extension(Oid oid, byte[] rawData, bool critical);
+ public X509Extension(string oid, byte[] rawData, bool critical);
+ public bool Critical { get; set; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public sealed class X509ExtensionCollection : ICollection, IEnumerable {
+ public X509ExtensionCollection();
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public X509Extension this[int index] { get; }
+ public X509Extension this[string oid] { get; }
+ public int Add(X509Extension extension);
+ public void CopyTo(X509Extension[] array, int index);
+ public X509ExtensionEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int index);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ }
+ public sealed class X509ExtensionEnumerator : IEnumerator {
+ public X509Extension Current { get; }
+ object System.Collections.IEnumerator.Current { get; }
+ public bool MoveNext();
+ public void Reset();
+ }
+ public enum X509FindType {
+ FindByApplicationPolicy = 10,
+ FindByCertificatePolicy = 11,
+ FindByExtension = 12,
+ FindByIssuerDistinguishedName = 4,
+ FindByIssuerName = 3,
+ FindByKeyUsage = 13,
+ FindBySerialNumber = 5,
+ FindBySubjectDistinguishedName = 2,
+ FindBySubjectKeyIdentifier = 14,
+ FindBySubjectName = 1,
+ FindByTemplateName = 9,
+ FindByThumbprint = 0,
+ FindByTimeExpired = 8,
+ FindByTimeNotYetValid = 7,
+ FindByTimeValid = 6,
+ }
+ public enum X509KeyStorageFlags {
+ DefaultKeySet = 0,
+ Exportable = 4,
+ MachineKeySet = 2,
+ PersistKeySet = 16,
+ UserKeySet = 1,
+ UserProtected = 8,
+ }
+ public sealed class X509KeyUsageExtension : X509Extension {
+ public X509KeyUsageExtension();
+ public X509KeyUsageExtension(AsnEncodedData encodedKeyUsage, bool critical);
+ public X509KeyUsageExtension(X509KeyUsageFlags keyUsages, bool critical);
+ public X509KeyUsageFlags KeyUsages { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public enum X509KeyUsageFlags {
+ CrlSign = 2,
+ DataEncipherment = 16,
+ DecipherOnly = 32768,
+ DigitalSignature = 128,
+ EncipherOnly = 1,
+ KeyAgreement = 8,
+ KeyCertSign = 4,
+ KeyEncipherment = 32,
+ None = 0,
+ NonRepudiation = 64,
+ }
+ public enum X509NameType {
+ DnsFromAlternativeName = 4,
+ DnsName = 3,
+ EmailName = 1,
+ SimpleName = 0,
+ UpnName = 2,
+ UrlName = 5,
+ }
+ public enum X509RevocationFlag {
+ EndCertificateOnly = 0,
+ EntireChain = 1,
+ ExcludeRoot = 2,
+ }
+ public enum X509RevocationMode {
+ NoCheck = 0,
+ Offline = 2,
+ Online = 1,
+ }
+ public sealed class X509Store : IDisposable {
+ public X509Store();
+ public X509Store(StoreName storeName, StoreLocation storeLocation);
+ public X509Store(string storeName, StoreLocation storeLocation);
+ public X509Certificate2Collection Certificates { get; }
+ public StoreLocation Location { get; }
+ public string Name { get; }
+ public void Add(X509Certificate2 certificate);
+ public void Dispose();
+ public void Open(OpenFlags flags);
+ public void Remove(X509Certificate2 certificate);
+ }
+ public sealed class X509SubjectKeyIdentifierExtension : X509Extension {
+ public X509SubjectKeyIdentifierExtension();
+ public X509SubjectKeyIdentifierExtension(byte[] subjectKeyIdentifier, bool critical);
+ public X509SubjectKeyIdentifierExtension(AsnEncodedData encodedSubjectKeyIdentifier, bool critical);
+ public X509SubjectKeyIdentifierExtension(PublicKey key, bool critical);
+ public X509SubjectKeyIdentifierExtension(PublicKey key, X509SubjectKeyIdentifierHashAlgorithm algorithm, bool critical);
+ public X509SubjectKeyIdentifierExtension(string subjectKeyIdentifier, bool critical);
+ public string SubjectKeyIdentifier { get; }
+ public override void CopyFrom(AsnEncodedData asnEncodedData);
+ }
+ public enum X509SubjectKeyIdentifierHashAlgorithm {
+ CapiSha1 = 2,
+ Sha1 = 0,
+ ShortSha1 = 1,
+ }
+ public enum X509VerificationFlags {
+ AllFlags = 4095,
+ AllowUnknownCertificateAuthority = 16,
+ IgnoreCertificateAuthorityRevocationUnknown = 1024,
+ IgnoreCtlNotTimeValid = 2,
+ IgnoreCtlSignerRevocationUnknown = 512,
+ IgnoreEndRevocationUnknown = 256,
+ IgnoreInvalidBasicConstraints = 8,
+ IgnoreInvalidName = 64,
+ IgnoreInvalidPolicy = 128,
+ IgnoreNotTimeNested = 4,
+ IgnoreNotTimeValid = 1,
+ IgnoreRootRevocationUnknown = 2048,
+ IgnoreWrongUsage = 32,
+ NoFlag = 0,
+ }
+}
```

View File

@@ -1,12 +1,12 @@
# System.Security.Cryptography.Xml
``` diff
+namespace System.Security.Cryptography.Xml {
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct X509IssuerSerial {
+ public string IssuerName { get; set; }
+ public string SerialNumber { get; set; }
+ }
+}
```
# System.Security.Cryptography.Xml
``` diff
+namespace System.Security.Cryptography.Xml {
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct X509IssuerSerial {
+ public string IssuerName { get; set; }
+ public string SerialNumber { get; set; }
+ }
+}
```

View File

@@ -1,55 +1,55 @@
# System.Security.Permissions
``` diff
+namespace System.Security.Permissions {
+ public abstract class CodeAccessSecurityAttribute : SecurityAttribute {
+ protected CodeAccessSecurityAttribute(SecurityAction action);
+ }
+ public enum SecurityAction {
+ Assert = 3,
+ Demand = 2,
+ Deny = 4,
+ InheritanceDemand = 7,
+ LinkDemand = 6,
+ PermitOnly = 5,
+ RequestMinimum = 8,
+ RequestOptional = 9,
+ RequestRefuse = 10,
+ }
+ public abstract class SecurityAttribute : Attribute {
+ protected SecurityAttribute(SecurityAction action);
+ public SecurityAction Action { get; set; }
+ public bool Unrestricted { get; set; }
+ }
+ public sealed class SecurityPermissionAttribute : CodeAccessSecurityAttribute {
+ public SecurityPermissionAttribute(SecurityAction action);
+ public bool ControlAppDomain { get; set; }
+ public bool ControlDomainPolicy { get; set; }
+ public bool ControlEvidence { get; set; }
+ public bool ControlPolicy { get; set; }
+ public bool ControlThread { get; set; }
+ public SecurityPermissionFlag Flags { get; set; }
+ public bool SkipVerification { get; set; }
+ public bool UnmanagedCode { get; set; }
+ }
+ public enum SecurityPermissionFlag {
+ AllFlags = 16383,
+ Assertion = 1,
+ BindingRedirects = 8192,
+ ControlAppDomain = 1024,
+ ControlDomainPolicy = 256,
+ ControlEvidence = 32,
+ ControlPolicy = 64,
+ ControlPrincipal = 512,
+ ControlThread = 16,
+ Execution = 8,
+ Infrastructure = 4096,
+ NoFlags = 0,
+ RemotingConfiguration = 2048,
+ SerializationFormatter = 128,
+ SkipVerification = 4,
+ UnmanagedCode = 2,
+ }
+}
```
# System.Security.Permissions
``` diff
+namespace System.Security.Permissions {
+ public abstract class CodeAccessSecurityAttribute : SecurityAttribute {
+ protected CodeAccessSecurityAttribute(SecurityAction action);
+ }
+ public enum SecurityAction {
+ Assert = 3,
+ Demand = 2,
+ Deny = 4,
+ InheritanceDemand = 7,
+ LinkDemand = 6,
+ PermitOnly = 5,
+ RequestMinimum = 8,
+ RequestOptional = 9,
+ RequestRefuse = 10,
+ }
+ public abstract class SecurityAttribute : Attribute {
+ protected SecurityAttribute(SecurityAction action);
+ public SecurityAction Action { get; set; }
+ public bool Unrestricted { get; set; }
+ }
+ public sealed class SecurityPermissionAttribute : CodeAccessSecurityAttribute {
+ public SecurityPermissionAttribute(SecurityAction action);
+ public bool ControlAppDomain { get; set; }
+ public bool ControlDomainPolicy { get; set; }
+ public bool ControlEvidence { get; set; }
+ public bool ControlPolicy { get; set; }
+ public bool ControlThread { get; set; }
+ public SecurityPermissionFlag Flags { get; set; }
+ public bool SkipVerification { get; set; }
+ public bool UnmanagedCode { get; set; }
+ }
+ public enum SecurityPermissionFlag {
+ AllFlags = 16383,
+ Assertion = 1,
+ BindingRedirects = 8192,
+ ControlAppDomain = 1024,
+ ControlDomainPolicy = 256,
+ ControlEvidence = 32,
+ ControlPolicy = 64,
+ ControlPrincipal = 512,
+ ControlThread = 16,
+ Execution = 8,
+ Infrastructure = 4096,
+ NoFlags = 0,
+ RemotingConfiguration = 2048,
+ SerializationFormatter = 128,
+ SkipVerification = 4,
+ UnmanagedCode = 2,
+ }
+}
```

View File

@@ -1,231 +1,231 @@
# System.Security.Principal
``` diff
+namespace System.Security.Principal {
+ public class GenericIdentity : ClaimsIdentity {
+ protected GenericIdentity(GenericIdentity identity);
+ public GenericIdentity(string name);
+ public GenericIdentity(string name, string type);
+ public override string AuthenticationType { get; }
+ public override IEnumerable<Claim> Claims { get; }
+ public override bool IsAuthenticated { get; }
+ public override string Name { get; }
+ public override ClaimsIdentity Clone();
+ }
+ public class GenericPrincipal : ClaimsPrincipal {
+ public GenericPrincipal(IIdentity identity, string[] roles);
+ public override IIdentity Identity { get; }
+ public override bool IsInRole(string role);
+ }
+ public sealed class IdentityNotMappedException : Exception {
+ public IdentityNotMappedException();
+ public IdentityNotMappedException(string message);
+ public IdentityNotMappedException(string message, Exception inner);
+ public IdentityReferenceCollection UnmappedIdentities { get; }
+ }
+ public abstract class IdentityReference {
+ public abstract string Value { get; }
+ public abstract override bool Equals(object o);
+ public abstract override int GetHashCode();
+ public abstract bool IsValidTargetType(Type targetType);
+ public static bool operator ==(IdentityReference left, IdentityReference right);
+ public static bool operator !=(IdentityReference left, IdentityReference right);
+ public abstract override string ToString();
+ public abstract IdentityReference Translate(Type targetType);
+ }
+ public class IdentityReferenceCollection : ICollection<IdentityReference>, IEnumerable, IEnumerable<IdentityReference> {
+ public IdentityReferenceCollection();
+ public IdentityReferenceCollection(int capacity);
+ public int Count { get; }
+ bool System.Collections.Generic.ICollection<System.Security.Principal.IdentityReference>.IsReadOnly { get; }
+ public IdentityReference this[int index] { get; set; }
+ public void Add(IdentityReference identity);
+ public void Clear();
+ public bool Contains(IdentityReference identity);
+ public void CopyTo(IdentityReference[] array, int offset);
+ public IEnumerator<IdentityReference> GetEnumerator();
+ public bool Remove(IdentityReference identity);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public IdentityReferenceCollection Translate(Type targetType);
+ public IdentityReferenceCollection Translate(Type targetType, bool forceSuccess);
+ }
+ public interface IIdentity {
+ string AuthenticationType { get; }
+ bool IsAuthenticated { get; }
+ string Name { get; }
+ }
+ public interface IPrincipal {
+ IIdentity Identity { get; }
+ bool IsInRole(string role);
+ }
+ public sealed class NTAccount : IdentityReference {
+ public NTAccount(string name);
+ public NTAccount(string domainName, string accountName);
+ public override string Value { get; }
+ public override bool Equals(object o);
+ public override int GetHashCode();
+ public override bool IsValidTargetType(Type targetType);
+ public static bool operator ==(NTAccount left, NTAccount right);
+ public static bool operator !=(NTAccount left, NTAccount right);
+ public override string ToString();
+ public override IdentityReference Translate(Type targetType);
+ }
+ public sealed class SecurityIdentifier : IdentityReference, IComparable<SecurityIdentifier> {
+ public static readonly int MaxBinaryLength;
+ public static readonly int MinBinaryLength;
+ public SecurityIdentifier(byte[] binaryForm, int offset);
+ public SecurityIdentifier(IntPtr binaryForm);
+ public SecurityIdentifier(WellKnownSidType sidType, SecurityIdentifier domainSid);
+ public SecurityIdentifier(string sddlForm);
+ public SecurityIdentifier AccountDomainSid { get; }
+ public int BinaryLength { get; }
+ public override string Value { get; }
+ public int CompareTo(SecurityIdentifier sid);
+ public override bool Equals(object o);
+ public bool Equals(SecurityIdentifier sid);
+ public void GetBinaryForm(byte[] binaryForm, int offset);
+ public override int GetHashCode();
+ public bool IsAccountSid();
+ public bool IsEqualDomainSid(SecurityIdentifier sid);
+ public override bool IsValidTargetType(Type targetType);
+ public bool IsWellKnown(WellKnownSidType type);
+ public static bool operator ==(SecurityIdentifier left, SecurityIdentifier right);
+ public static bool operator !=(SecurityIdentifier left, SecurityIdentifier right);
+ public override string ToString();
+ public override IdentityReference Translate(Type targetType);
+ }
+ public enum TokenAccessLevels {
+ AdjustDefault = 128,
+ AdjustGroups = 64,
+ AdjustPrivileges = 32,
+ AdjustSessionId = 256,
+ AllAccess = 983551,
+ AssignPrimary = 1,
+ Duplicate = 2,
+ Impersonate = 4,
+ MaximumAllowed = 33554432,
+ Query = 8,
+ QuerySource = 16,
+ Read = 131080,
+ Write = 131296,
+ }
+ public enum TokenImpersonationLevel {
+ Anonymous = 1,
+ Delegation = 4,
+ Identification = 2,
+ Impersonation = 3,
+ None = 0,
+ }
+ public enum WellKnownSidType {
+ AccountAdministratorSid = 38,
+ AccountCertAdminsSid = 46,
+ AccountComputersSid = 44,
+ AccountControllersSid = 45,
+ AccountDomainAdminsSid = 41,
+ AccountDomainGuestsSid = 43,
+ AccountDomainUsersSid = 42,
+ AccountEnterpriseAdminsSid = 48,
+ AccountGuestSid = 39,
+ AccountKrbtgtSid = 40,
+ AccountPolicyAdminsSid = 49,
+ AccountRasAndIasServersSid = 50,
+ AccountSchemaAdminsSid = 47,
+ AnonymousSid = 13,
+ AuthenticatedUserSid = 17,
+ BatchSid = 10,
+ BuiltinAccountOperatorsSid = 30,
+ BuiltinAdministratorsSid = 26,
+ BuiltinAuthorizationAccessSid = 59,
+ BuiltinBackupOperatorsSid = 33,
+ BuiltinDomainSid = 25,
+ BuiltinGuestsSid = 28,
+ BuiltinIncomingForestTrustBuildersSid = 56,
+ BuiltinNetworkConfigurationOperatorsSid = 37,
+ BuiltinPerformanceLoggingUsersSid = 58,
+ BuiltinPerformanceMonitoringUsersSid = 57,
+ BuiltinPowerUsersSid = 29,
+ BuiltinPreWindows2000CompatibleAccessSid = 35,
+ BuiltinPrintOperatorsSid = 32,
+ BuiltinRemoteDesktopUsersSid = 36,
+ BuiltinReplicatorSid = 34,
+ BuiltinSystemOperatorsSid = 31,
+ BuiltinUsersSid = 27,
+ CreatorGroupServerSid = 6,
+ CreatorGroupSid = 4,
+ CreatorOwnerServerSid = 5,
+ CreatorOwnerSid = 3,
+ DialupSid = 8,
+ DigestAuthenticationSid = 52,
+ EnterpriseControllersSid = 15,
+ InteractiveSid = 11,
+ LocalServiceSid = 23,
+ LocalSid = 2,
+ LocalSystemSid = 22,
+ LogonIdsSid = 21,
+ MaxDefined = 60,
+ NetworkServiceSid = 24,
+ NetworkSid = 9,
+ NTAuthoritySid = 7,
+ NtlmAuthenticationSid = 51,
+ NullSid = 0,
+ OtherOrganizationSid = 55,
+ ProxySid = 14,
+ RemoteLogonIdSid = 20,
+ RestrictedCodeSid = 18,
+ SChannelAuthenticationSid = 53,
+ SelfSid = 16,
+ ServiceSid = 12,
+ TerminalServerSid = 19,
+ ThisOrganizationSid = 54,
+ WinBuiltinTerminalServerLicenseServersSid = 60,
+ WorldSid = 1,
+ }
+ public enum WindowsBuiltInRole {
+ AccountOperator = 548,
+ Administrator = 544,
+ BackupOperator = 551,
+ Guest = 546,
+ PowerUser = 547,
+ PrintOperator = 550,
+ Replicator = 552,
+ SystemOperator = 549,
+ User = 545,
+ }
+ public class WindowsIdentity : ClaimsIdentity, IDisposable {
+ public const string DefaultIssuer = "AD AUTHORITY";
+ public WindowsIdentity(IntPtr userToken);
+ public WindowsIdentity(IntPtr userToken, string type);
+ public WindowsIdentity(string sUserPrincipalName);
+ public SafeAccessTokenHandle AccessToken { get; }
+ public sealed override string AuthenticationType { get; }
+ public override IEnumerable<Claim> Claims { get; }
+ public IdentityReferenceCollection Groups { get; }
+ public TokenImpersonationLevel ImpersonationLevel { get; }
+ public virtual bool IsAnonymous { get; }
+ public override bool IsAuthenticated { get; }
+ public virtual bool IsGuest { get; }
+ public virtual bool IsSystem { get; }
+ public override string Name { get; }
+ public SecurityIdentifier Owner { get; }
+ public SecurityIdentifier User { get; }
+ public override ClaimsIdentity Clone();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public static WindowsIdentity GetAnonymous();
+ public static WindowsIdentity GetCurrent();
+ public static WindowsIdentity GetCurrent(bool ifImpersonating);
+ public static WindowsIdentity GetCurrent(TokenAccessLevels desiredAccess);
+ public static void RunImpersonated(SafeAccessTokenHandle safeAccessTokenHandle, Action action);
+ public static T RunImpersonated<T>(SafeAccessTokenHandle safeAccessTokenHandle, Func<T> func);
+ }
+ public class WindowsPrincipal : ClaimsPrincipal {
+ public WindowsPrincipal(WindowsIdentity ntIdentity);
+ public override IIdentity Identity { get; }
+ public virtual bool IsInRole(int rid);
+ public virtual bool IsInRole(SecurityIdentifier sid);
+ public virtual bool IsInRole(WindowsBuiltInRole role);
+ public override bool IsInRole(string role);
+ }
+}
```
# System.Security.Principal
``` diff
+namespace System.Security.Principal {
+ public class GenericIdentity : ClaimsIdentity {
+ protected GenericIdentity(GenericIdentity identity);
+ public GenericIdentity(string name);
+ public GenericIdentity(string name, string type);
+ public override string AuthenticationType { get; }
+ public override IEnumerable<Claim> Claims { get; }
+ public override bool IsAuthenticated { get; }
+ public override string Name { get; }
+ public override ClaimsIdentity Clone();
+ }
+ public class GenericPrincipal : ClaimsPrincipal {
+ public GenericPrincipal(IIdentity identity, string[] roles);
+ public override IIdentity Identity { get; }
+ public override bool IsInRole(string role);
+ }
+ public sealed class IdentityNotMappedException : Exception {
+ public IdentityNotMappedException();
+ public IdentityNotMappedException(string message);
+ public IdentityNotMappedException(string message, Exception inner);
+ public IdentityReferenceCollection UnmappedIdentities { get; }
+ }
+ public abstract class IdentityReference {
+ public abstract string Value { get; }
+ public abstract override bool Equals(object o);
+ public abstract override int GetHashCode();
+ public abstract bool IsValidTargetType(Type targetType);
+ public static bool operator ==(IdentityReference left, IdentityReference right);
+ public static bool operator !=(IdentityReference left, IdentityReference right);
+ public abstract override string ToString();
+ public abstract IdentityReference Translate(Type targetType);
+ }
+ public class IdentityReferenceCollection : ICollection<IdentityReference>, IEnumerable, IEnumerable<IdentityReference> {
+ public IdentityReferenceCollection();
+ public IdentityReferenceCollection(int capacity);
+ public int Count { get; }
+ bool System.Collections.Generic.ICollection<System.Security.Principal.IdentityReference>.IsReadOnly { get; }
+ public IdentityReference this[int index] { get; set; }
+ public void Add(IdentityReference identity);
+ public void Clear();
+ public bool Contains(IdentityReference identity);
+ public void CopyTo(IdentityReference[] array, int offset);
+ public IEnumerator<IdentityReference> GetEnumerator();
+ public bool Remove(IdentityReference identity);
+ IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public IdentityReferenceCollection Translate(Type targetType);
+ public IdentityReferenceCollection Translate(Type targetType, bool forceSuccess);
+ }
+ public interface IIdentity {
+ string AuthenticationType { get; }
+ bool IsAuthenticated { get; }
+ string Name { get; }
+ }
+ public interface IPrincipal {
+ IIdentity Identity { get; }
+ bool IsInRole(string role);
+ }
+ public sealed class NTAccount : IdentityReference {
+ public NTAccount(string name);
+ public NTAccount(string domainName, string accountName);
+ public override string Value { get; }
+ public override bool Equals(object o);
+ public override int GetHashCode();
+ public override bool IsValidTargetType(Type targetType);
+ public static bool operator ==(NTAccount left, NTAccount right);
+ public static bool operator !=(NTAccount left, NTAccount right);
+ public override string ToString();
+ public override IdentityReference Translate(Type targetType);
+ }
+ public sealed class SecurityIdentifier : IdentityReference, IComparable<SecurityIdentifier> {
+ public static readonly int MaxBinaryLength;
+ public static readonly int MinBinaryLength;
+ public SecurityIdentifier(byte[] binaryForm, int offset);
+ public SecurityIdentifier(IntPtr binaryForm);
+ public SecurityIdentifier(WellKnownSidType sidType, SecurityIdentifier domainSid);
+ public SecurityIdentifier(string sddlForm);
+ public SecurityIdentifier AccountDomainSid { get; }
+ public int BinaryLength { get; }
+ public override string Value { get; }
+ public int CompareTo(SecurityIdentifier sid);
+ public override bool Equals(object o);
+ public bool Equals(SecurityIdentifier sid);
+ public void GetBinaryForm(byte[] binaryForm, int offset);
+ public override int GetHashCode();
+ public bool IsAccountSid();
+ public bool IsEqualDomainSid(SecurityIdentifier sid);
+ public override bool IsValidTargetType(Type targetType);
+ public bool IsWellKnown(WellKnownSidType type);
+ public static bool operator ==(SecurityIdentifier left, SecurityIdentifier right);
+ public static bool operator !=(SecurityIdentifier left, SecurityIdentifier right);
+ public override string ToString();
+ public override IdentityReference Translate(Type targetType);
+ }
+ public enum TokenAccessLevels {
+ AdjustDefault = 128,
+ AdjustGroups = 64,
+ AdjustPrivileges = 32,
+ AdjustSessionId = 256,
+ AllAccess = 983551,
+ AssignPrimary = 1,
+ Duplicate = 2,
+ Impersonate = 4,
+ MaximumAllowed = 33554432,
+ Query = 8,
+ QuerySource = 16,
+ Read = 131080,
+ Write = 131296,
+ }
+ public enum TokenImpersonationLevel {
+ Anonymous = 1,
+ Delegation = 4,
+ Identification = 2,
+ Impersonation = 3,
+ None = 0,
+ }
+ public enum WellKnownSidType {
+ AccountAdministratorSid = 38,
+ AccountCertAdminsSid = 46,
+ AccountComputersSid = 44,
+ AccountControllersSid = 45,
+ AccountDomainAdminsSid = 41,
+ AccountDomainGuestsSid = 43,
+ AccountDomainUsersSid = 42,
+ AccountEnterpriseAdminsSid = 48,
+ AccountGuestSid = 39,
+ AccountKrbtgtSid = 40,
+ AccountPolicyAdminsSid = 49,
+ AccountRasAndIasServersSid = 50,
+ AccountSchemaAdminsSid = 47,
+ AnonymousSid = 13,
+ AuthenticatedUserSid = 17,
+ BatchSid = 10,
+ BuiltinAccountOperatorsSid = 30,
+ BuiltinAdministratorsSid = 26,
+ BuiltinAuthorizationAccessSid = 59,
+ BuiltinBackupOperatorsSid = 33,
+ BuiltinDomainSid = 25,
+ BuiltinGuestsSid = 28,
+ BuiltinIncomingForestTrustBuildersSid = 56,
+ BuiltinNetworkConfigurationOperatorsSid = 37,
+ BuiltinPerformanceLoggingUsersSid = 58,
+ BuiltinPerformanceMonitoringUsersSid = 57,
+ BuiltinPowerUsersSid = 29,
+ BuiltinPreWindows2000CompatibleAccessSid = 35,
+ BuiltinPrintOperatorsSid = 32,
+ BuiltinRemoteDesktopUsersSid = 36,
+ BuiltinReplicatorSid = 34,
+ BuiltinSystemOperatorsSid = 31,
+ BuiltinUsersSid = 27,
+ CreatorGroupServerSid = 6,
+ CreatorGroupSid = 4,
+ CreatorOwnerServerSid = 5,
+ CreatorOwnerSid = 3,
+ DialupSid = 8,
+ DigestAuthenticationSid = 52,
+ EnterpriseControllersSid = 15,
+ InteractiveSid = 11,
+ LocalServiceSid = 23,
+ LocalSid = 2,
+ LocalSystemSid = 22,
+ LogonIdsSid = 21,
+ MaxDefined = 60,
+ NetworkServiceSid = 24,
+ NetworkSid = 9,
+ NTAuthoritySid = 7,
+ NtlmAuthenticationSid = 51,
+ NullSid = 0,
+ OtherOrganizationSid = 55,
+ ProxySid = 14,
+ RemoteLogonIdSid = 20,
+ RestrictedCodeSid = 18,
+ SChannelAuthenticationSid = 53,
+ SelfSid = 16,
+ ServiceSid = 12,
+ TerminalServerSid = 19,
+ ThisOrganizationSid = 54,
+ WinBuiltinTerminalServerLicenseServersSid = 60,
+ WorldSid = 1,
+ }
+ public enum WindowsBuiltInRole {
+ AccountOperator = 548,
+ Administrator = 544,
+ BackupOperator = 551,
+ Guest = 546,
+ PowerUser = 547,
+ PrintOperator = 550,
+ Replicator = 552,
+ SystemOperator = 549,
+ User = 545,
+ }
+ public class WindowsIdentity : ClaimsIdentity, IDisposable {
+ public const string DefaultIssuer = "AD AUTHORITY";
+ public WindowsIdentity(IntPtr userToken);
+ public WindowsIdentity(IntPtr userToken, string type);
+ public WindowsIdentity(string sUserPrincipalName);
+ public SafeAccessTokenHandle AccessToken { get; }
+ public sealed override string AuthenticationType { get; }
+ public override IEnumerable<Claim> Claims { get; }
+ public IdentityReferenceCollection Groups { get; }
+ public TokenImpersonationLevel ImpersonationLevel { get; }
+ public virtual bool IsAnonymous { get; }
+ public override bool IsAuthenticated { get; }
+ public virtual bool IsGuest { get; }
+ public virtual bool IsSystem { get; }
+ public override string Name { get; }
+ public SecurityIdentifier Owner { get; }
+ public SecurityIdentifier User { get; }
+ public override ClaimsIdentity Clone();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public static WindowsIdentity GetAnonymous();
+ public static WindowsIdentity GetCurrent();
+ public static WindowsIdentity GetCurrent(bool ifImpersonating);
+ public static WindowsIdentity GetCurrent(TokenAccessLevels desiredAccess);
+ public static void RunImpersonated(SafeAccessTokenHandle safeAccessTokenHandle, Action action);
+ public static T RunImpersonated<T>(SafeAccessTokenHandle safeAccessTokenHandle, Func<T> func);
+ }
+ public class WindowsPrincipal : ClaimsPrincipal {
+ public WindowsPrincipal(WindowsIdentity ntIdentity);
+ public override IIdentity Identity { get; }
+ public virtual bool IsInRole(int rid);
+ public virtual bool IsInRole(SecurityIdentifier sid);
+ public virtual bool IsInRole(WindowsBuiltInRole role);
+ public override bool IsInRole(string role);
+ }
+}
```

View File

@@ -1,58 +1,58 @@
# System.Security
``` diff
+namespace System.Security {
+ public sealed class AllowPartiallyTrustedCallersAttribute : Attribute {
+ public AllowPartiallyTrustedCallersAttribute();
+ }
+ public sealed class SecureString : IDisposable {
+ public SecureString();
+ public unsafe SecureString(char* value, int length);
+ public int Length { get; }
+ public void AppendChar(char c);
+ public void Clear();
+ public SecureString Copy();
+ public void Dispose();
+ public void InsertAt(int index, char c);
+ public bool IsReadOnly();
+ public void MakeReadOnly();
+ public void RemoveAt(int index);
+ public void SetAt(int index, char c);
+ }
+ public static class SecureStringMarshal {
+ public static IntPtr SecureStringToCoTaskMemAnsi(SecureString s);
+ public static IntPtr SecureStringToCoTaskMemUnicode(SecureString s);
+ public static IntPtr SecureStringToGlobalAllocAnsi(SecureString s);
+ public static IntPtr SecureStringToGlobalAllocUnicode(SecureString s);
+ }
+ public sealed class SecurityCriticalAttribute : Attribute {
+ public SecurityCriticalAttribute();
+ }
+ public class SecurityException : Exception {
+ public SecurityException();
+ public SecurityException(string message);
+ public SecurityException(string message, Exception inner);
+ public override string ToString();
+ }
+ public sealed class SecuritySafeCriticalAttribute : Attribute {
+ public SecuritySafeCriticalAttribute();
+ }
+ public abstract class SecurityState {
+ protected SecurityState();
+ public abstract void EnsureState();
+ public bool IsStateAvailable();
+ }
+ public sealed class SecurityTransparentAttribute : Attribute {
+ public SecurityTransparentAttribute();
+ }
+ public sealed class UnverifiableCodeAttribute : Attribute {
+ public UnverifiableCodeAttribute();
+ }
+ public class VerificationException : Exception {
+ public VerificationException();
+ public VerificationException(string message);
+ public VerificationException(string message, Exception innerException);
+ }
+}
```
# System.Security
``` diff
+namespace System.Security {
+ public sealed class AllowPartiallyTrustedCallersAttribute : Attribute {
+ public AllowPartiallyTrustedCallersAttribute();
+ }
+ public sealed class SecureString : IDisposable {
+ public SecureString();
+ public unsafe SecureString(char* value, int length);
+ public int Length { get; }
+ public void AppendChar(char c);
+ public void Clear();
+ public SecureString Copy();
+ public void Dispose();
+ public void InsertAt(int index, char c);
+ public bool IsReadOnly();
+ public void MakeReadOnly();
+ public void RemoveAt(int index);
+ public void SetAt(int index, char c);
+ }
+ public static class SecureStringMarshal {
+ public static IntPtr SecureStringToCoTaskMemAnsi(SecureString s);
+ public static IntPtr SecureStringToCoTaskMemUnicode(SecureString s);
+ public static IntPtr SecureStringToGlobalAllocAnsi(SecureString s);
+ public static IntPtr SecureStringToGlobalAllocUnicode(SecureString s);
+ }
+ public sealed class SecurityCriticalAttribute : Attribute {
+ public SecurityCriticalAttribute();
+ }
+ public class SecurityException : Exception {
+ public SecurityException();
+ public SecurityException(string message);
+ public SecurityException(string message, Exception inner);
+ public override string ToString();
+ }
+ public sealed class SecuritySafeCriticalAttribute : Attribute {
+ public SecuritySafeCriticalAttribute();
+ }
+ public abstract class SecurityState {
+ protected SecurityState();
+ public abstract void EnsureState();
+ public bool IsStateAvailable();
+ }
+ public sealed class SecurityTransparentAttribute : Attribute {
+ public SecurityTransparentAttribute();
+ }
+ public sealed class UnverifiableCodeAttribute : Attribute {
+ public UnverifiableCodeAttribute();
+ }
+ public class VerificationException : Exception {
+ public VerificationException();
+ public VerificationException(string message);
+ public VerificationException(string message, Exception innerException);
+ }
+}
```

View File

@@ -1,232 +1,232 @@
# System.ServiceModel.Description
``` diff
+namespace System.ServiceModel.Description {
+ public class ClientCredentials : IEndpointBehavior {
+ public ClientCredentials();
+ protected ClientCredentials(ClientCredentials other);
+ public X509CertificateInitiatorClientCredential ClientCertificate { get; }
+ public HttpDigestClientCredential HttpDigest { get; }
+ public X509CertificateRecipientClientCredential ServiceCertificate { get; }
+ public UserNamePasswordClientCredential UserName { get; }
+ public WindowsClientCredential Windows { get; }
+ public virtual void ApplyClientBehavior(ServiceEndpoint serviceEndpoint, ClientRuntime behavior);
+ public ClientCredentials Clone();
+ protected virtual ClientCredentials CloneCore();
+ public override SecurityTokenManager CreateSecurityTokenManager();
+ void System.ServiceModel.Description.IEndpointBehavior.AddBindingParameters(ServiceEndpoint serviceEndpoint, BindingParameterCollection bindingParameters);
+ void System.ServiceModel.Description.IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint serviceEndpoint, EndpointDispatcher endpointDispatcher);
+ void System.ServiceModel.Description.IEndpointBehavior.Validate(ServiceEndpoint serviceEndpoint);
+ }
+ public class ContractDescription {
+ public ContractDescription(string name);
+ public ContractDescription(string name, string ns);
+ public KeyedByTypeCollection<IContractBehavior> Behaviors { get; }
+ public Type CallbackContractType { get; set; }
+ public string ConfigurationName { get; set; }
+ public KeyedCollection<Type, IContractBehavior> ContractBehaviors { get; }
+ public Type ContractType { get; set; }
+ public bool HasProtectionLevel { get; }
+ public string Name { get; set; }
+ public string Namespace { get; set; }
+ public OperationDescriptionCollection Operations { get; }
+ public ProtectionLevel ProtectionLevel { get; set; }
+ public SessionMode SessionMode { get; set; }
+ public static ContractDescription GetContract(Type contractType);
+ public static ContractDescription GetContract(Type contractType, object serviceImplementation);
+ public static ContractDescription GetContract(Type contractType, Type serviceType);
+ public Collection<ContractDescription> GetInheritedContracts();
+ public bool ShouldSerializeProtectionLevel();
+ }
+ public class DataContractSerializerOperationBehavior : IOperationBehavior {
+ public DataContractSerializerOperationBehavior(OperationDescription operation);
+ public DataContractSerializerOperationBehavior(OperationDescription operation, DataContractFormatAttribute dataContractFormatAttribute);
+ public DataContractFormatAttribute DataContractFormatAttribute { get; }
+ public DataContractResolver DataContractResolver { get; set; }
+ public bool IgnoreExtensionDataObject { get; set; }
+ public int MaxItemsInObjectGraph { get; set; }
+ public virtual XmlObjectSerializer CreateSerializer(Type type, string name, string ns, IList<Type> knownTypes);
+ public virtual XmlObjectSerializer CreateSerializer(Type type, XmlDictionaryString name, XmlDictionaryString ns, IList<Type> knownTypes);
+ void System.ServiceModel.Description.IOperationBehavior.AddBindingParameters(OperationDescription description, BindingParameterCollection parameters);
+ void System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(OperationDescription description, ClientOperation proxy);
+ void System.ServiceModel.Description.IOperationBehavior.ApplyDispatchBehavior(OperationDescription description, DispatchOperation dispatch);
+ void System.ServiceModel.Description.IOperationBehavior.Validate(OperationDescription description);
+ }
+ public class FaultDescription {
+ public FaultDescription(string action);
+ public string Action { get; }
+ public Type DetailType { get; set; }
+ public bool HasProtectionLevel { get; }
+ public string Name { get; set; }
+ public string Namespace { get; set; }
+ public ProtectionLevel ProtectionLevel { get; set; }
+ public bool ShouldSerializeProtectionLevel();
+ }
+ public class FaultDescriptionCollection : Collection<FaultDescription> {
+ public FaultDescription Find(string action);
+ public Collection<FaultDescription> FindAll(string action);
+ }
+ public interface IContractBehavior {
+ void AddBindingParameters(ContractDescription contractDescription, ServiceEndpoint endpoint, BindingParameterCollection bindingParameters);
+ void ApplyClientBehavior(ContractDescription contractDescription, ServiceEndpoint endpoint, ClientRuntime clientRuntime);
+ void ApplyDispatchBehavior(ContractDescription contractDescription, ServiceEndpoint endpoint, DispatchRuntime dispatchRuntime);
+ void Validate(ContractDescription contractDescription, ServiceEndpoint endpoint);
+ }
+ public interface IEndpointBehavior {
+ void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters);
+ void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime);
+ void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher);
+ void Validate(ServiceEndpoint endpoint);
+ }
+ public interface IOperationBehavior {
+ void AddBindingParameters(OperationDescription operationDescription, BindingParameterCollection bindingParameters);
+ void ApplyClientBehavior(OperationDescription operationDescription, ClientOperation clientOperation);
+ void ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation);
+ void Validate(OperationDescription operationDescription);
+ }
+ public enum ListenUriMode {
+ Explicit = 0,
+ Unique = 1,
+ }
+ public class MessageBodyDescription {
+ public MessageBodyDescription();
+ public MessagePartDescriptionCollection Parts { get; }
+ public MessagePartDescription ReturnValue { get; set; }
+ public string WrapperName { get; set; }
+ public string WrapperNamespace { get; set; }
+ }
+ public class MessageDescription {
+ public MessageDescription(string action, MessageDirection direction);
+ public string Action { get; }
+ public MessageBodyDescription Body { get; }
+ public MessageDirection Direction { get; }
+ public bool HasProtectionLevel { get; }
+ public MessageHeaderDescriptionCollection Headers { get; }
+ public Type MessageType { get; set; }
+ public MessagePropertyDescriptionCollection Properties { get; }
+ public ProtectionLevel ProtectionLevel { get; set; }
+ public bool ShouldSerializeProtectionLevel();
+ }
+ public class MessageDescriptionCollection : Collection<MessageDescription> {
+ public MessageDescription Find(string action);
+ public Collection<MessageDescription> FindAll(string action);
+ }
+ public enum MessageDirection {
+ Input = 0,
+ Output = 1,
+ }
+ public class MessageHeaderDescription : MessagePartDescription {
+ public MessageHeaderDescription(string name, string ns);
+ public string Actor { get; set; }
+ public bool MustUnderstand { get; set; }
+ public bool Relay { get; set; }
+ public bool TypedHeader { get; set; }
+ }
+ public class MessageHeaderDescriptionCollection : KeyedCollection<XmlQualifiedName, MessageHeaderDescription> {
+ protected override XmlQualifiedName GetKeyForItem(MessageHeaderDescription item);
+ }
+ public class MessagePartDescription {
+ public MessagePartDescription(string name, string ns);
+ public bool HasProtectionLevel { get; }
+ public int Index { get; set; }
+ public MemberInfo MemberInfo { get; set; }
+ public bool Multiple { get; set; }
+ public string Name { get; }
+ public string Namespace { get; }
+ public ProtectionLevel ProtectionLevel { get; set; }
+ public Type Type { get; set; }
+ }
+ public class MessagePartDescriptionCollection : KeyedCollection<XmlQualifiedName, MessagePartDescription> {
+ protected override XmlQualifiedName GetKeyForItem(MessagePartDescription item);
+ }
+ public class MessagePropertyDescription : MessagePartDescription {
+ public MessagePropertyDescription(string name);
+ }
+ public class MessagePropertyDescriptionCollection : KeyedCollection<string, MessagePropertyDescription> {
+ protected override string GetKeyForItem(MessagePropertyDescription item);
+ }
+ public class MetadataConversionError {
+ public MetadataConversionError(string message);
+ public MetadataConversionError(string message, bool isWarning);
+ public bool IsWarning { get; }
+ public string Message { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ }
+ public class MetadataLocation {
+ public MetadataLocation();
+ public MetadataLocation(string location);
+ public string Location { get; set; }
+ }
+ public class OperationDescription {
+ public OperationDescription(string name, ContractDescription declaringContract);
+ public MethodInfo BeginMethod { get; set; }
+ public KeyedByTypeCollection<IOperationBehavior> Behaviors { get; }
+ public ContractDescription DeclaringContract { get; set; }
+ public MethodInfo EndMethod { get; set; }
+ public FaultDescriptionCollection Faults { get; }
+ public bool IsInitiating { get; set; }
+ public bool IsOneWay { get; }
+ public Collection<Type> KnownTypes { get; }
+ public MessageDescriptionCollection Messages { get; }
+ public string Name { get; }
+ public KeyedCollection<Type, IOperationBehavior> OperationBehaviors { get; }
+ public MethodInfo SyncMethod { get; set; }
+ public MethodInfo TaskMethod { get; set; }
+ }
+ public class OperationDescriptionCollection : Collection<OperationDescription> {
+ public OperationDescription Find(string name);
+ public Collection<OperationDescription> FindAll(string name);
+ protected override void InsertItem(int index, OperationDescription item);
+ protected override void SetItem(int index, OperationDescription item);
+ }
+ public sealed class PolicyVersion {
+ public static PolicyVersion Default { get; }
+ public string Namespace { get; }
+ public static PolicyVersion Policy12 { get; }
+ public static PolicyVersion Policy15 { get; }
+ public override string ToString();
+ }
+ public enum PrincipalPermissionMode {
+ Always = 4,
+ Custom = 3,
+ None = 0,
+ UseAspNetRoles = 2,
+ UseWindowsGroups = 1,
+ }
+ public class ServiceEndpoint {
+ public ServiceEndpoint(ContractDescription contract);
+ public ServiceEndpoint(ContractDescription contract, Binding binding, EndpointAddress address);
+ public EndpointAddress Address { get; set; }
+ public KeyedByTypeCollection<IEndpointBehavior> Behaviors { get; }
+ public Binding Binding { get; set; }
+ public ContractDescription Contract { get; set; }
+ public KeyedCollection<Type, IEndpointBehavior> EndpointBehaviors { get; }
+ public bool IsSystemEndpoint { get; set; }
+ public Uri ListenUri { get; set; }
+ public ListenUriMode ListenUriMode { get; set; }
+ public string Name { get; set; }
+ }
+ public class ServiceEndpointCollection : Collection<ServiceEndpoint> {
+ public ServiceEndpoint Find(Type contractType);
+ public ServiceEndpoint Find(Type contractType, XmlQualifiedName bindingName);
+ public ServiceEndpoint Find(Uri address);
+ public ServiceEndpoint Find(XmlQualifiedName contractName);
+ public ServiceEndpoint Find(XmlQualifiedName contractName, XmlQualifiedName bindingName);
+ public Collection<ServiceEndpoint> FindAll(Type contractType);
+ public Collection<ServiceEndpoint> FindAll(XmlQualifiedName contractName);
+ protected override void InsertItem(int index, ServiceEndpoint item);
+ protected override void SetItem(int index, ServiceEndpoint item);
+ }
+ public class XmlSerializerOperationBehavior : IOperationBehavior {
+ public XmlSerializerOperationBehavior(OperationDescription operation);
+ public XmlSerializerOperationBehavior(OperationDescription operation, XmlSerializerFormatAttribute attribute);
+ public XmlSerializerFormatAttribute XmlSerializerFormatAttribute { get; }
+ void System.ServiceModel.Description.IOperationBehavior.AddBindingParameters(OperationDescription description, BindingParameterCollection parameters);
+ void System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(OperationDescription description, ClientOperation proxy);
+ void System.ServiceModel.Description.IOperationBehavior.ApplyDispatchBehavior(OperationDescription description, DispatchOperation dispatch);
+ void System.ServiceModel.Description.IOperationBehavior.Validate(OperationDescription description);
+ }
+}
```
# System.ServiceModel.Description
``` diff
+namespace System.ServiceModel.Description {
+ public class ClientCredentials : IEndpointBehavior {
+ public ClientCredentials();
+ protected ClientCredentials(ClientCredentials other);
+ public X509CertificateInitiatorClientCredential ClientCertificate { get; }
+ public HttpDigestClientCredential HttpDigest { get; }
+ public X509CertificateRecipientClientCredential ServiceCertificate { get; }
+ public UserNamePasswordClientCredential UserName { get; }
+ public WindowsClientCredential Windows { get; }
+ public virtual void ApplyClientBehavior(ServiceEndpoint serviceEndpoint, ClientRuntime behavior);
+ public ClientCredentials Clone();
+ protected virtual ClientCredentials CloneCore();
+ public override SecurityTokenManager CreateSecurityTokenManager();
+ void System.ServiceModel.Description.IEndpointBehavior.AddBindingParameters(ServiceEndpoint serviceEndpoint, BindingParameterCollection bindingParameters);
+ void System.ServiceModel.Description.IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint serviceEndpoint, EndpointDispatcher endpointDispatcher);
+ void System.ServiceModel.Description.IEndpointBehavior.Validate(ServiceEndpoint serviceEndpoint);
+ }
+ public class ContractDescription {
+ public ContractDescription(string name);
+ public ContractDescription(string name, string ns);
+ public KeyedByTypeCollection<IContractBehavior> Behaviors { get; }
+ public Type CallbackContractType { get; set; }
+ public string ConfigurationName { get; set; }
+ public KeyedCollection<Type, IContractBehavior> ContractBehaviors { get; }
+ public Type ContractType { get; set; }
+ public bool HasProtectionLevel { get; }
+ public string Name { get; set; }
+ public string Namespace { get; set; }
+ public OperationDescriptionCollection Operations { get; }
+ public ProtectionLevel ProtectionLevel { get; set; }
+ public SessionMode SessionMode { get; set; }
+ public static ContractDescription GetContract(Type contractType);
+ public static ContractDescription GetContract(Type contractType, object serviceImplementation);
+ public static ContractDescription GetContract(Type contractType, Type serviceType);
+ public Collection<ContractDescription> GetInheritedContracts();
+ public bool ShouldSerializeProtectionLevel();
+ }
+ public class DataContractSerializerOperationBehavior : IOperationBehavior {
+ public DataContractSerializerOperationBehavior(OperationDescription operation);
+ public DataContractSerializerOperationBehavior(OperationDescription operation, DataContractFormatAttribute dataContractFormatAttribute);
+ public DataContractFormatAttribute DataContractFormatAttribute { get; }
+ public DataContractResolver DataContractResolver { get; set; }
+ public bool IgnoreExtensionDataObject { get; set; }
+ public int MaxItemsInObjectGraph { get; set; }
+ public virtual XmlObjectSerializer CreateSerializer(Type type, string name, string ns, IList<Type> knownTypes);
+ public virtual XmlObjectSerializer CreateSerializer(Type type, XmlDictionaryString name, XmlDictionaryString ns, IList<Type> knownTypes);
+ void System.ServiceModel.Description.IOperationBehavior.AddBindingParameters(OperationDescription description, BindingParameterCollection parameters);
+ void System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(OperationDescription description, ClientOperation proxy);
+ void System.ServiceModel.Description.IOperationBehavior.ApplyDispatchBehavior(OperationDescription description, DispatchOperation dispatch);
+ void System.ServiceModel.Description.IOperationBehavior.Validate(OperationDescription description);
+ }
+ public class FaultDescription {
+ public FaultDescription(string action);
+ public string Action { get; }
+ public Type DetailType { get; set; }
+ public bool HasProtectionLevel { get; }
+ public string Name { get; set; }
+ public string Namespace { get; set; }
+ public ProtectionLevel ProtectionLevel { get; set; }
+ public bool ShouldSerializeProtectionLevel();
+ }
+ public class FaultDescriptionCollection : Collection<FaultDescription> {
+ public FaultDescription Find(string action);
+ public Collection<FaultDescription> FindAll(string action);
+ }
+ public interface IContractBehavior {
+ void AddBindingParameters(ContractDescription contractDescription, ServiceEndpoint endpoint, BindingParameterCollection bindingParameters);
+ void ApplyClientBehavior(ContractDescription contractDescription, ServiceEndpoint endpoint, ClientRuntime clientRuntime);
+ void ApplyDispatchBehavior(ContractDescription contractDescription, ServiceEndpoint endpoint, DispatchRuntime dispatchRuntime);
+ void Validate(ContractDescription contractDescription, ServiceEndpoint endpoint);
+ }
+ public interface IEndpointBehavior {
+ void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters);
+ void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime);
+ void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher);
+ void Validate(ServiceEndpoint endpoint);
+ }
+ public interface IOperationBehavior {
+ void AddBindingParameters(OperationDescription operationDescription, BindingParameterCollection bindingParameters);
+ void ApplyClientBehavior(OperationDescription operationDescription, ClientOperation clientOperation);
+ void ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation);
+ void Validate(OperationDescription operationDescription);
+ }
+ public enum ListenUriMode {
+ Explicit = 0,
+ Unique = 1,
+ }
+ public class MessageBodyDescription {
+ public MessageBodyDescription();
+ public MessagePartDescriptionCollection Parts { get; }
+ public MessagePartDescription ReturnValue { get; set; }
+ public string WrapperName { get; set; }
+ public string WrapperNamespace { get; set; }
+ }
+ public class MessageDescription {
+ public MessageDescription(string action, MessageDirection direction);
+ public string Action { get; }
+ public MessageBodyDescription Body { get; }
+ public MessageDirection Direction { get; }
+ public bool HasProtectionLevel { get; }
+ public MessageHeaderDescriptionCollection Headers { get; }
+ public Type MessageType { get; set; }
+ public MessagePropertyDescriptionCollection Properties { get; }
+ public ProtectionLevel ProtectionLevel { get; set; }
+ public bool ShouldSerializeProtectionLevel();
+ }
+ public class MessageDescriptionCollection : Collection<MessageDescription> {
+ public MessageDescription Find(string action);
+ public Collection<MessageDescription> FindAll(string action);
+ }
+ public enum MessageDirection {
+ Input = 0,
+ Output = 1,
+ }
+ public class MessageHeaderDescription : MessagePartDescription {
+ public MessageHeaderDescription(string name, string ns);
+ public string Actor { get; set; }
+ public bool MustUnderstand { get; set; }
+ public bool Relay { get; set; }
+ public bool TypedHeader { get; set; }
+ }
+ public class MessageHeaderDescriptionCollection : KeyedCollection<XmlQualifiedName, MessageHeaderDescription> {
+ protected override XmlQualifiedName GetKeyForItem(MessageHeaderDescription item);
+ }
+ public class MessagePartDescription {
+ public MessagePartDescription(string name, string ns);
+ public bool HasProtectionLevel { get; }
+ public int Index { get; set; }
+ public MemberInfo MemberInfo { get; set; }
+ public bool Multiple { get; set; }
+ public string Name { get; }
+ public string Namespace { get; }
+ public ProtectionLevel ProtectionLevel { get; set; }
+ public Type Type { get; set; }
+ }
+ public class MessagePartDescriptionCollection : KeyedCollection<XmlQualifiedName, MessagePartDescription> {
+ protected override XmlQualifiedName GetKeyForItem(MessagePartDescription item);
+ }
+ public class MessagePropertyDescription : MessagePartDescription {
+ public MessagePropertyDescription(string name);
+ }
+ public class MessagePropertyDescriptionCollection : KeyedCollection<string, MessagePropertyDescription> {
+ protected override string GetKeyForItem(MessagePropertyDescription item);
+ }
+ public class MetadataConversionError {
+ public MetadataConversionError(string message);
+ public MetadataConversionError(string message, bool isWarning);
+ public bool IsWarning { get; }
+ public string Message { get; }
+ public override bool Equals(object obj);
+ public override int GetHashCode();
+ }
+ public class MetadataLocation {
+ public MetadataLocation();
+ public MetadataLocation(string location);
+ public string Location { get; set; }
+ }
+ public class OperationDescription {
+ public OperationDescription(string name, ContractDescription declaringContract);
+ public MethodInfo BeginMethod { get; set; }
+ public KeyedByTypeCollection<IOperationBehavior> Behaviors { get; }
+ public ContractDescription DeclaringContract { get; set; }
+ public MethodInfo EndMethod { get; set; }
+ public FaultDescriptionCollection Faults { get; }
+ public bool IsInitiating { get; set; }
+ public bool IsOneWay { get; }
+ public Collection<Type> KnownTypes { get; }
+ public MessageDescriptionCollection Messages { get; }
+ public string Name { get; }
+ public KeyedCollection<Type, IOperationBehavior> OperationBehaviors { get; }
+ public MethodInfo SyncMethod { get; set; }
+ public MethodInfo TaskMethod { get; set; }
+ }
+ public class OperationDescriptionCollection : Collection<OperationDescription> {
+ public OperationDescription Find(string name);
+ public Collection<OperationDescription> FindAll(string name);
+ protected override void InsertItem(int index, OperationDescription item);
+ protected override void SetItem(int index, OperationDescription item);
+ }
+ public sealed class PolicyVersion {
+ public static PolicyVersion Default { get; }
+ public string Namespace { get; }
+ public static PolicyVersion Policy12 { get; }
+ public static PolicyVersion Policy15 { get; }
+ public override string ToString();
+ }
+ public enum PrincipalPermissionMode {
+ Always = 4,
+ Custom = 3,
+ None = 0,
+ UseAspNetRoles = 2,
+ UseWindowsGroups = 1,
+ }
+ public class ServiceEndpoint {
+ public ServiceEndpoint(ContractDescription contract);
+ public ServiceEndpoint(ContractDescription contract, Binding binding, EndpointAddress address);
+ public EndpointAddress Address { get; set; }
+ public KeyedByTypeCollection<IEndpointBehavior> Behaviors { get; }
+ public Binding Binding { get; set; }
+ public ContractDescription Contract { get; set; }
+ public KeyedCollection<Type, IEndpointBehavior> EndpointBehaviors { get; }
+ public bool IsSystemEndpoint { get; set; }
+ public Uri ListenUri { get; set; }
+ public ListenUriMode ListenUriMode { get; set; }
+ public string Name { get; set; }
+ }
+ public class ServiceEndpointCollection : Collection<ServiceEndpoint> {
+ public ServiceEndpoint Find(Type contractType);
+ public ServiceEndpoint Find(Type contractType, XmlQualifiedName bindingName);
+ public ServiceEndpoint Find(Uri address);
+ public ServiceEndpoint Find(XmlQualifiedName contractName);
+ public ServiceEndpoint Find(XmlQualifiedName contractName, XmlQualifiedName bindingName);
+ public Collection<ServiceEndpoint> FindAll(Type contractType);
+ public Collection<ServiceEndpoint> FindAll(XmlQualifiedName contractName);
+ protected override void InsertItem(int index, ServiceEndpoint item);
+ protected override void SetItem(int index, ServiceEndpoint item);
+ }
+ public class XmlSerializerOperationBehavior : IOperationBehavior {
+ public XmlSerializerOperationBehavior(OperationDescription operation);
+ public XmlSerializerOperationBehavior(OperationDescription operation, XmlSerializerFormatAttribute attribute);
+ public XmlSerializerFormatAttribute XmlSerializerFormatAttribute { get; }
+ void System.ServiceModel.Description.IOperationBehavior.AddBindingParameters(OperationDescription description, BindingParameterCollection parameters);
+ void System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(OperationDescription description, ClientOperation proxy);
+ void System.ServiceModel.Description.IOperationBehavior.ApplyDispatchBehavior(OperationDescription description, DispatchOperation dispatch);
+ void System.ServiceModel.Description.IOperationBehavior.Validate(OperationDescription description);
+ }
+}
```

View File

@@ -1,28 +1,28 @@
# System.ServiceModel.Diagnostics
``` diff
+namespace System.ServiceModel.Diagnostics {
+ public class ExceptionUtility {
+ public ArgumentException ThrowHelperArgument(string message);
+ public ArgumentException ThrowHelperArgument(string paramName, string message);
+ public ArgumentNullException ThrowHelperArgumentNull(string paramName);
+ public ArgumentNullException ThrowHelperArgumentNull(string paramName, string message);
+ public ArgumentException ThrowHelperArgumentNullOrEmptyString(string arg);
+ public Exception ThrowHelperCallback(Exception innerException);
+ public Exception ThrowHelperCallback(string message, Exception innerException);
+ public Exception ThrowHelperCritical(Exception exception);
+ public Exception ThrowHelperError(Exception exception);
+ public Exception ThrowHelperFatal(string message, Exception innerException);
+ public Exception ThrowHelperInternal(bool fatal);
+ public Exception ThrowHelperInvalidOperation(string message);
+ public Exception ThrowHelperWarning(Exception exception);
+ }
+ public static class TraceUtility {
+ public const string E2EActivityId = "E2EActivityId";
+ public const string TraceApplicationReference = "TraceApplicationReference";
+ public static bool PropagateUserActivity { get; }
+ public static long RetrieveMessageNumber();
+ }
+}
```
# System.ServiceModel.Diagnostics
``` diff
+namespace System.ServiceModel.Diagnostics {
+ public class ExceptionUtility {
+ public ArgumentException ThrowHelperArgument(string message);
+ public ArgumentException ThrowHelperArgument(string paramName, string message);
+ public ArgumentNullException ThrowHelperArgumentNull(string paramName);
+ public ArgumentNullException ThrowHelperArgumentNull(string paramName, string message);
+ public ArgumentException ThrowHelperArgumentNullOrEmptyString(string arg);
+ public Exception ThrowHelperCallback(Exception innerException);
+ public Exception ThrowHelperCallback(string message, Exception innerException);
+ public Exception ThrowHelperCritical(Exception exception);
+ public Exception ThrowHelperError(Exception exception);
+ public Exception ThrowHelperFatal(string message, Exception innerException);
+ public Exception ThrowHelperInternal(bool fatal);
+ public Exception ThrowHelperInvalidOperation(string message);
+ public Exception ThrowHelperWarning(Exception exception);
+ }
+ public static class TraceUtility {
+ public const string E2EActivityId = "E2EActivityId";
+ public const string TraceApplicationReference = "TraceApplicationReference";
+ public static bool PropagateUserActivity { get; }
+ public static long RetrieveMessageNumber();
+ }
+}
```

View File

@@ -1,206 +1,206 @@
# System.ServiceModel.Dispatcher
``` diff
+namespace System.ServiceModel.Dispatcher {
+ public class ChannelDispatcher : ChannelDispatcherBase {
+ protected override TimeSpan DefaultCloseTimeout { get; }
+ protected override TimeSpan DefaultOpenTimeout { get; }
+ public SynchronizedCollection<EndpointDispatcher> Endpoints { get; }
+ public Collection<IErrorHandler> ErrorHandlers { get; }
+ public bool IncludeExceptionDetailInFaults { get; set; }
+ public override IChannelListener Listener { get; }
+ public bool ManualAddressing { get; set; }
+ public int MaxPendingReceives { get; set; }
+ public int MaxTransactedBatchSize { get; set; }
+ public MessageVersion MessageVersion { get; set; }
+ public bool ReceiveContextEnabled { get; set; }
+ public bool ReceiveSynchronously { get; set; }
+ public bool SendAsynchronously { get; set; }
+ public override void CloseInput();
+ protected override void OnAbort();
+ protected override IAsyncResult OnBeginClose(TimeSpan timeout, AsyncCallback callback, object state);
+ protected override IAsyncResult OnBeginOpen(TimeSpan timeout, AsyncCallback callback, object state);
+ protected override void OnClose(TimeSpan timeout);
+ protected internal override Task OnCloseAsync(TimeSpan timeout);
+ protected override void OnClosed();
+ protected override void OnEndClose(IAsyncResult result);
+ protected override void OnEndOpen(IAsyncResult result);
+ protected override void OnOpen(TimeSpan timeout);
+ protected internal override Task OnOpenAsync(TimeSpan timeout);
+ protected override void OnOpened();
+ protected override void OnOpening();
+ }
+ public abstract class ChannelDispatcherBase : CommunicationObject {
+ protected ChannelDispatcherBase();
+ public abstract IChannelListener Listener { get; }
+ public virtual void CloseInput();
+ }
+ public sealed class ClientOperation {
+ public ClientOperation(ClientRuntime parent, string name, string action);
+ public ClientOperation(ClientRuntime parent, string name, string action, string replyAction);
+ public string Action { get; }
+ public MethodInfo BeginMethod { get; set; }
+ public ICollection<IParameterInspector> ClientParameterInspectors { get; }
+ public bool DeserializeReply { get; set; }
+ public MethodInfo EndMethod { get; set; }
+ public SynchronizedCollection<FaultContractInfo> FaultContractInfos { get; }
+ public IClientMessageFormatter Formatter { get; set; }
+ public bool IsInitiating { get; set; }
+ public bool IsOneWay { get; set; }
+ public string Name { get; }
+ public new SynchronizedCollection<IParameterInspector> ParameterInspectors { get; }
+ public ClientRuntime Parent { get; }
+ public string ReplyAction { get; }
+ public bool SerializeRequest { get; set; }
+ public MethodInfo SyncMethod { get; set; }
+ public MethodInfo TaskMethod { get; set; }
+ public Type TaskTResult { get; set; }
+ }
+ public class ClientOperationCompatBase {
+ public IList<IParameterInspector> ParameterInspectors { get; }
+ }
+ public sealed class ClientRuntime {
+ public Type CallbackClientType { get; set; }
+ public DispatchRuntime CallbackDispatchRuntime { get; }
+ public SynchronizedCollection<IChannelInitializer> ChannelInitializers { get; }
+ public ICollection<IClientMessageInspector> ClientMessageInspectors { get; }
+ public ICollection<ClientOperation> ClientOperations { get; }
+ public Type ContractClientType { get; set; }
+ public string ContractName { get; }
+ public string ContractNamespace { get; }
+ public DispatchRuntime DispatchRuntime { get; }
+ public SynchronizedCollection<IInteractiveChannelInitializer> InteractiveChannelInitializers { get; }
+ public bool ManualAddressing { get; set; }
+ public int MaxFaultSize { get; set; }
+ public new SynchronizedCollection<IClientMessageInspector> MessageInspectors { get; }
+ public bool MessageVersionNoneFaultsEnabled { get; set; }
+ public new SynchronizedKeyedCollection<string, ClientOperation> Operations { get; }
+ public IClientOperationSelector OperationSelector { get; set; }
+ public ClientOperation UnhandledClientOperation { get; }
+ public bool ValidateMustUnderstand { get; set; }
+ public Uri Via { get; set; }
+ }
+ public class ClientRuntimeCompatBase {
+ public IList<IClientMessageInspector> MessageInspectors { get; }
+ public KeyedCollection<string, ClientOperation> Operations { get; }
+ }
+ public sealed class DispatchOperation {
+ public DispatchOperation(DispatchRuntime parent, string name, string action);
+ public DispatchOperation(DispatchRuntime parent, string name, string action, string replyAction);
+ public string Action { get; }
+ public bool AutoDisposeParameters { get; set; }
+ public bool DeserializeRequest { get; set; }
+ public SynchronizedCollection<FaultContractInfo> FaultContractInfos { get; }
+ public IOperationInvoker Invoker { get; set; }
+ public bool IsOneWay { get; }
+ public string Name { get; }
+ public SynchronizedCollection<IParameterInspector> ParameterInspectors { get; }
+ public DispatchRuntime Parent { get; }
+ public string ReplyAction { get; }
+ public bool SerializeReply { get; set; }
+ }
+ public sealed class DispatchRuntime {
+ public bool AutomaticInputSessionShutdown { get; set; }
+ public ClientRuntime CallbackClientRuntime { get; }
+ public ChannelDispatcher ChannelDispatcher { get; }
+ public ConcurrencyMode ConcurrencyMode { get; set; }
+ public EndpointDispatcher EndpointDispatcher { get; }
+ public bool EnsureOrderedDispatch { get; set; }
+ public IInstanceContextProvider InstanceContextProvider { get; set; }
+ public IInstanceProvider InstanceProvider { get; set; }
+ public SynchronizedKeyedCollection<string, DispatchOperation> Operations { get; }
+ public SynchronizationContext SynchronizationContext { get; set; }
+ public Type Type { get; set; }
+ public DispatchOperation UnhandledDispatchOperation { get; set; }
+ }
+ public class EndpointDispatcher {
+ public EndpointDispatcher();
+ public ChannelDispatcher ChannelDispatcher { get; }
+ public string ContractName { get; }
+ public string ContractNamespace { get; }
+ public DispatchRuntime DispatchRuntime { get; }
+ public EndpointAddress EndpointAddress { get; }
+ public int FilterPriority { get; set; }
+ }
+ public class FaultContractInfo {
+ public FaultContractInfo(string action, Type detail);
+ public string Action { get; }
+ public Type Detail { get; }
+ }
+ public class FaultFormatter : IClientFaultFormatter, IDispatchFaultFormatter {
+ protected virtual FaultException CreateFaultException(MessageFault messageFault, string action);
+ protected FaultException CreateFaultException(MessageFault messageFault, string action, object detailObj, Type detailType, XmlDictionaryReader detailReader);
+ public FaultException Deserialize(MessageFault messageFault, string action);
+ protected virtual XmlObjectSerializer GetSerializer(Type detailType, string faultExceptionAction, out string action);
+ public MessageFault Serialize(FaultException faultException, out string action);
+ public class OperationFault<T> : XmlObjectSerializerFault {
+ public OperationFault(XmlObjectSerializer serializer, FaultException<T> faultException);
+ }
+ }
+ public interface IChannelInitializer {
+ void Initialize(IClientChannel channel);
+ }
+ public interface IClientMessageFormatter {
+ object DeserializeReply(Message message, object[] parameters);
+ Message SerializeRequest(MessageVersion messageVersion, object[] parameters);
+ }
+ public interface IClientMessageInspector {
+ void AfterReceiveReply(ref Message reply, object correlationState);
+ object BeforeSendRequest(ref Message request, IClientChannel channel);
+ }
+ public interface IClientOperationSelector {
+ bool AreParametersRequiredForSelection { get; }
+ string SelectOperation(MethodBase method, object[] parameters);
+ }
+ public interface IErrorHandler {
+ bool HandleError(Exception error);
+ void ProvideFault(Exception error, MessageVersion version, ref Message fault);
+ }
+ public interface IInstanceContextProvider {
+ InstanceContext GetExistingInstanceContext(Message message, IContextChannel channel);
+ }
+ public interface IInstanceProvider {
+ object GetInstance(InstanceContext instanceContext);
+ object GetInstance(InstanceContext instanceContext, Message message);
+ void ReleaseInstance(InstanceContext instanceContext, object instance);
+ }
+ public interface IInteractiveChannelInitializer {
+ IAsyncResult BeginDisplayInitializationUI(IClientChannel channel, AsyncCallback callback, object state);
+ void EndDisplayInitializationUI(IAsyncResult result);
+ }
+ public class InstanceBehavior
+ public interface IOperationInvoker {
+ object[] AllocateInputs();
+ IAsyncResult InvokeBegin(object instance, object[] inputs, AsyncCallback callback, object state);
+ object InvokeEnd(object instance, out object[] outputs, IAsyncResult result);
+ }
+ public interface IParameterInspector {
+ void AfterCall(string operationName, object[] outputs, object returnValue, object correlationState);
+ object BeforeCall(string operationName, object[] inputs);
+ }
+ public class OperationInvokerBehavior : IOperationBehavior {
+ public OperationInvokerBehavior();
+ void System.ServiceModel.Description.IOperationBehavior.AddBindingParameters(OperationDescription description, BindingParameterCollection parameters);
+ void System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(OperationDescription description, ClientOperation proxy);
+ void System.ServiceModel.Description.IOperationBehavior.ApplyDispatchBehavior(OperationDescription description, DispatchOperation dispatch);
+ void System.ServiceModel.Description.IOperationBehavior.Validate(OperationDescription description);
+ }
+ public class SyncMethodInvoker : IOperationInvoker {
+ public SyncMethodInvoker(MethodInfo method);
+ public MethodInfo Method { get; }
+ public string MethodName { get; }
+ public object[] AllocateInputs();
+ public IAsyncResult InvokeBegin(object instance, object[] inputs, AsyncCallback callback, object state);
+ public object InvokeEnd(object instance, out object[] outputs, IAsyncResult result);
+ }
+ public class TaskMethodInvoker : IOperationInvoker {
+ public TaskMethodInvoker(MethodInfo taskMethod, Type taskType);
+ public MethodInfo Method { get; }
+ public string MethodName { get; }
+ public object[] AllocateInputs();
+ public IAsyncResult InvokeBegin(object instance, object[] inputs, AsyncCallback callback, object state);
+ public object InvokeEnd(object instance, out object[] outputs, IAsyncResult result);
+ }
+}
```
# System.ServiceModel.Dispatcher
``` diff
+namespace System.ServiceModel.Dispatcher {
+ public class ChannelDispatcher : ChannelDispatcherBase {
+ protected override TimeSpan DefaultCloseTimeout { get; }
+ protected override TimeSpan DefaultOpenTimeout { get; }
+ public SynchronizedCollection<EndpointDispatcher> Endpoints { get; }
+ public Collection<IErrorHandler> ErrorHandlers { get; }
+ public bool IncludeExceptionDetailInFaults { get; set; }
+ public override IChannelListener Listener { get; }
+ public bool ManualAddressing { get; set; }
+ public int MaxPendingReceives { get; set; }
+ public int MaxTransactedBatchSize { get; set; }
+ public MessageVersion MessageVersion { get; set; }
+ public bool ReceiveContextEnabled { get; set; }
+ public bool ReceiveSynchronously { get; set; }
+ public bool SendAsynchronously { get; set; }
+ public override void CloseInput();
+ protected override void OnAbort();
+ protected override IAsyncResult OnBeginClose(TimeSpan timeout, AsyncCallback callback, object state);
+ protected override IAsyncResult OnBeginOpen(TimeSpan timeout, AsyncCallback callback, object state);
+ protected override void OnClose(TimeSpan timeout);
+ protected internal override Task OnCloseAsync(TimeSpan timeout);
+ protected override void OnClosed();
+ protected override void OnEndClose(IAsyncResult result);
+ protected override void OnEndOpen(IAsyncResult result);
+ protected override void OnOpen(TimeSpan timeout);
+ protected internal override Task OnOpenAsync(TimeSpan timeout);
+ protected override void OnOpened();
+ protected override void OnOpening();
+ }
+ public abstract class ChannelDispatcherBase : CommunicationObject {
+ protected ChannelDispatcherBase();
+ public abstract IChannelListener Listener { get; }
+ public virtual void CloseInput();
+ }
+ public sealed class ClientOperation {
+ public ClientOperation(ClientRuntime parent, string name, string action);
+ public ClientOperation(ClientRuntime parent, string name, string action, string replyAction);
+ public string Action { get; }
+ public MethodInfo BeginMethod { get; set; }
+ public ICollection<IParameterInspector> ClientParameterInspectors { get; }
+ public bool DeserializeReply { get; set; }
+ public MethodInfo EndMethod { get; set; }
+ public SynchronizedCollection<FaultContractInfo> FaultContractInfos { get; }
+ public IClientMessageFormatter Formatter { get; set; }
+ public bool IsInitiating { get; set; }
+ public bool IsOneWay { get; set; }
+ public string Name { get; }
+ public new SynchronizedCollection<IParameterInspector> ParameterInspectors { get; }
+ public ClientRuntime Parent { get; }
+ public string ReplyAction { get; }
+ public bool SerializeRequest { get; set; }
+ public MethodInfo SyncMethod { get; set; }
+ public MethodInfo TaskMethod { get; set; }
+ public Type TaskTResult { get; set; }
+ }
+ public class ClientOperationCompatBase {
+ public IList<IParameterInspector> ParameterInspectors { get; }
+ }
+ public sealed class ClientRuntime {
+ public Type CallbackClientType { get; set; }
+ public DispatchRuntime CallbackDispatchRuntime { get; }
+ public SynchronizedCollection<IChannelInitializer> ChannelInitializers { get; }
+ public ICollection<IClientMessageInspector> ClientMessageInspectors { get; }
+ public ICollection<ClientOperation> ClientOperations { get; }
+ public Type ContractClientType { get; set; }
+ public string ContractName { get; }
+ public string ContractNamespace { get; }
+ public DispatchRuntime DispatchRuntime { get; }
+ public SynchronizedCollection<IInteractiveChannelInitializer> InteractiveChannelInitializers { get; }
+ public bool ManualAddressing { get; set; }
+ public int MaxFaultSize { get; set; }
+ public new SynchronizedCollection<IClientMessageInspector> MessageInspectors { get; }
+ public bool MessageVersionNoneFaultsEnabled { get; set; }
+ public new SynchronizedKeyedCollection<string, ClientOperation> Operations { get; }
+ public IClientOperationSelector OperationSelector { get; set; }
+ public ClientOperation UnhandledClientOperation { get; }
+ public bool ValidateMustUnderstand { get; set; }
+ public Uri Via { get; set; }
+ }
+ public class ClientRuntimeCompatBase {
+ public IList<IClientMessageInspector> MessageInspectors { get; }
+ public KeyedCollection<string, ClientOperation> Operations { get; }
+ }
+ public sealed class DispatchOperation {
+ public DispatchOperation(DispatchRuntime parent, string name, string action);
+ public DispatchOperation(DispatchRuntime parent, string name, string action, string replyAction);
+ public string Action { get; }
+ public bool AutoDisposeParameters { get; set; }
+ public bool DeserializeRequest { get; set; }
+ public SynchronizedCollection<FaultContractInfo> FaultContractInfos { get; }
+ public IOperationInvoker Invoker { get; set; }
+ public bool IsOneWay { get; }
+ public string Name { get; }
+ public SynchronizedCollection<IParameterInspector> ParameterInspectors { get; }
+ public DispatchRuntime Parent { get; }
+ public string ReplyAction { get; }
+ public bool SerializeReply { get; set; }
+ }
+ public sealed class DispatchRuntime {
+ public bool AutomaticInputSessionShutdown { get; set; }
+ public ClientRuntime CallbackClientRuntime { get; }
+ public ChannelDispatcher ChannelDispatcher { get; }
+ public ConcurrencyMode ConcurrencyMode { get; set; }
+ public EndpointDispatcher EndpointDispatcher { get; }
+ public bool EnsureOrderedDispatch { get; set; }
+ public IInstanceContextProvider InstanceContextProvider { get; set; }
+ public IInstanceProvider InstanceProvider { get; set; }
+ public SynchronizedKeyedCollection<string, DispatchOperation> Operations { get; }
+ public SynchronizationContext SynchronizationContext { get; set; }
+ public Type Type { get; set; }
+ public DispatchOperation UnhandledDispatchOperation { get; set; }
+ }
+ public class EndpointDispatcher {
+ public EndpointDispatcher();
+ public ChannelDispatcher ChannelDispatcher { get; }
+ public string ContractName { get; }
+ public string ContractNamespace { get; }
+ public DispatchRuntime DispatchRuntime { get; }
+ public EndpointAddress EndpointAddress { get; }
+ public int FilterPriority { get; set; }
+ }
+ public class FaultContractInfo {
+ public FaultContractInfo(string action, Type detail);
+ public string Action { get; }
+ public Type Detail { get; }
+ }
+ public class FaultFormatter : IClientFaultFormatter, IDispatchFaultFormatter {
+ protected virtual FaultException CreateFaultException(MessageFault messageFault, string action);
+ protected FaultException CreateFaultException(MessageFault messageFault, string action, object detailObj, Type detailType, XmlDictionaryReader detailReader);
+ public FaultException Deserialize(MessageFault messageFault, string action);
+ protected virtual XmlObjectSerializer GetSerializer(Type detailType, string faultExceptionAction, out string action);
+ public MessageFault Serialize(FaultException faultException, out string action);
+ public class OperationFault<T> : XmlObjectSerializerFault {
+ public OperationFault(XmlObjectSerializer serializer, FaultException<T> faultException);
+ }
+ }
+ public interface IChannelInitializer {
+ void Initialize(IClientChannel channel);
+ }
+ public interface IClientMessageFormatter {
+ object DeserializeReply(Message message, object[] parameters);
+ Message SerializeRequest(MessageVersion messageVersion, object[] parameters);
+ }
+ public interface IClientMessageInspector {
+ void AfterReceiveReply(ref Message reply, object correlationState);
+ object BeforeSendRequest(ref Message request, IClientChannel channel);
+ }
+ public interface IClientOperationSelector {
+ bool AreParametersRequiredForSelection { get; }
+ string SelectOperation(MethodBase method, object[] parameters);
+ }
+ public interface IErrorHandler {
+ bool HandleError(Exception error);
+ void ProvideFault(Exception error, MessageVersion version, ref Message fault);
+ }
+ public interface IInstanceContextProvider {
+ InstanceContext GetExistingInstanceContext(Message message, IContextChannel channel);
+ }
+ public interface IInstanceProvider {
+ object GetInstance(InstanceContext instanceContext);
+ object GetInstance(InstanceContext instanceContext, Message message);
+ void ReleaseInstance(InstanceContext instanceContext, object instance);
+ }
+ public interface IInteractiveChannelInitializer {
+ IAsyncResult BeginDisplayInitializationUI(IClientChannel channel, AsyncCallback callback, object state);
+ void EndDisplayInitializationUI(IAsyncResult result);
+ }
+ public class InstanceBehavior
+ public interface IOperationInvoker {
+ object[] AllocateInputs();
+ IAsyncResult InvokeBegin(object instance, object[] inputs, AsyncCallback callback, object state);
+ object InvokeEnd(object instance, out object[] outputs, IAsyncResult result);
+ }
+ public interface IParameterInspector {
+ void AfterCall(string operationName, object[] outputs, object returnValue, object correlationState);
+ object BeforeCall(string operationName, object[] inputs);
+ }
+ public class OperationInvokerBehavior : IOperationBehavior {
+ public OperationInvokerBehavior();
+ void System.ServiceModel.Description.IOperationBehavior.AddBindingParameters(OperationDescription description, BindingParameterCollection parameters);
+ void System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(OperationDescription description, ClientOperation proxy);
+ void System.ServiceModel.Description.IOperationBehavior.ApplyDispatchBehavior(OperationDescription description, DispatchOperation dispatch);
+ void System.ServiceModel.Description.IOperationBehavior.Validate(OperationDescription description);
+ }
+ public class SyncMethodInvoker : IOperationInvoker {
+ public SyncMethodInvoker(MethodInfo method);
+ public MethodInfo Method { get; }
+ public string MethodName { get; }
+ public object[] AllocateInputs();
+ public IAsyncResult InvokeBegin(object instance, object[] inputs, AsyncCallback callback, object state);
+ public object InvokeEnd(object instance, out object[] outputs, IAsyncResult result);
+ }
+ public class TaskMethodInvoker : IOperationInvoker {
+ public TaskMethodInvoker(MethodInfo taskMethod, Type taskType);
+ public MethodInfo Method { get; }
+ public string MethodName { get; }
+ public object[] AllocateInputs();
+ public IAsyncResult InvokeBegin(object instance, object[] inputs, AsyncCallback callback, object state);
+ public object InvokeEnd(object instance, out object[] outputs, IAsyncResult result);
+ }
+}
```

View File

@@ -1,177 +1,177 @@
# System.ServiceModel.Security.Tokens
``` diff
+namespace System.ServiceModel.Security.Tokens {
+ public class ClaimTypeRequirement {
+ public ClaimTypeRequirement(string claimType);
+ public ClaimTypeRequirement(string claimType, bool isOptional);
+ public string ClaimType { get; }
+ public bool IsOptional { get; }
+ }
+ public sealed class InitiatorServiceModelSecurityTokenRequirement : ServiceModelSecurityTokenRequirement {
+ public InitiatorServiceModelSecurityTokenRequirement();
+ public EndpointAddress TargetAddress { get; set; }
+ public Uri Via { get; set; }
+ public override string ToString();
+ }
+ public interface ISecurityContextSecurityTokenCache {
+ void AddContext(SecurityContextSecurityToken token);
+ void ClearContexts();
+ Collection<SecurityContextSecurityToken> GetAllContexts(UniqueId contextId);
+ SecurityContextSecurityToken GetContext(UniqueId contextId, UniqueId generation);
+ void RemoveAllContexts(UniqueId contextId);
+ void RemoveContext(UniqueId contextId, UniqueId generation);
+ bool TryAddContext(SecurityContextSecurityToken token);
+ void UpdateContextCachingTime(SecurityContextSecurityToken context, DateTime expirationTime);
+ }
+ public sealed class RecipientServiceModelSecurityTokenRequirement : ServiceModelSecurityTokenRequirement {
+ public RecipientServiceModelSecurityTokenRequirement();
+ public Uri ListenUri { get; set; }
+ public override string ToString();
+ }
+ public class SecureConversationSecurityTokenParameters : SecurityTokenParameters {
+ public SecureConversationSecurityTokenParameters();
+ public SecureConversationSecurityTokenParameters(SecurityBindingElement bootstrapSecurityBindingElement);
+ protected SecureConversationSecurityTokenParameters(SecureConversationSecurityTokenParameters other);
+ public SecurityBindingElement BootstrapSecurityBindingElement { get; set; }
+ protected internal override bool HasAsymmetricKey { get; }
+ protected internal override bool SupportsClientAuthentication { get; }
+ protected internal override bool SupportsClientWindowsIdentity { get; }
+ protected internal override bool SupportsServerAuthentication { get; }
+ protected override SecurityTokenParameters CloneCore();
+ public override string ToString();
+ }
+ public class SecurityContextSecurityToken : SecurityToken, IDisposable, TimeBoundedCache.IExpirableItem {
+ public SecurityContextSecurityToken(UniqueId contextId, byte[] key, DateTime validFrom, DateTime validTo);
+ public SecurityContextSecurityToken(UniqueId contextId, string id, byte[] key, DateTime validFrom, DateTime validTo);
+ public SecurityContextSecurityToken(UniqueId contextId, string id, byte[] key, DateTime validFrom, DateTime validTo, ReadOnlyCollection<IAuthorizationPolicy> authorizationPolicies);
+ public SecurityContextSecurityToken(UniqueId contextId, string id, byte[] key, DateTime validFrom, DateTime validTo, UniqueId keyGeneration, DateTime keyEffectiveTime, DateTime keyExpirationTime, ReadOnlyCollection<IAuthorizationPolicy> authorizationPolicies);
+ public ReadOnlyCollection<IAuthorizationPolicy> AuthorizationPolicies { get; internal set; }
+ public SecurityMessageProperty BootstrapMessageProperty { get; set; }
+ public UniqueId ContextId { get; }
+ public override string Id { get; }
+ public bool IsCookieMode { get; }
+ public DateTime KeyEffectiveTime { get; }
+ public DateTime KeyExpirationTime { get; }
+ public UniqueId KeyGeneration { get; }
+ public override ReadOnlyCollection<SecurityKey> SecurityKeys { get; }
+ public override DateTime ValidFrom { get; }
+ public override DateTime ValidTo { get; }
+ public static SecurityContextSecurityToken CreateCookieSecurityContextToken(UniqueId contextId, string id, byte[] key, DateTime validFrom, DateTime validTo, ReadOnlyCollection<IAuthorizationPolicy> authorizationPolicies, SecurityStateEncoder securityStateEncoder);
+ public static SecurityContextSecurityToken CreateCookieSecurityContextToken(UniqueId contextId, string id, byte[] key, DateTime validFrom, DateTime validTo, UniqueId keyGeneration, DateTime keyEffectiveTime, DateTime keyExpirationTime, ReadOnlyCollection<IAuthorizationPolicy> authorizationPolicies, SecurityStateEncoder securityStateEncoder);
+ public void Dispose();
+ public override string ToString();
+ }
+ public enum SecurityTokenInclusionMode {
+ AlwaysToInitiator = 3,
+ AlwaysToRecipient = 0,
+ Never = 1,
+ Once = 2,
+ }
+ public abstract class SecurityTokenParameters {
+ protected SecurityTokenParameters();
+ protected SecurityTokenParameters(SecurityTokenParameters other);
+ protected internal abstract bool HasAsymmetricKey { get; }
+ public bool RequireDerivedKeys { get; set; }
+ protected internal abstract bool SupportsClientAuthentication { get; }
+ protected internal abstract bool SupportsClientWindowsIdentity { get; }
+ protected internal abstract bool SupportsServerAuthentication { get; }
+ public SecurityTokenParameters Clone();
+ protected abstract SecurityTokenParameters CloneCore();
+ public override string ToString();
+ }
+ public enum SecurityTokenReferenceStyle {
+ External = 1,
+ Internal = 0,
+ }
+ public abstract class ServiceModelSecurityTokenRequirement : SecurityTokenRequirement {
+ protected const string Namespace = "http://schemas.microsoft.com/ws/2006/05/servicemodel/securitytokenrequirement";
+ protected ServiceModelSecurityTokenRequirement();
+ public static string AuditLogLocationProperty { get; }
+ public static string ChannelParametersCollectionProperty { get; }
+ public static string DuplexClientLocalAddressProperty { get; }
+ public static string EndpointFilterTableProperty { get; }
+ public static string ExtendedProtectionPolicy { get; }
+ public static string HttpAuthenticationSchemeProperty { get; }
+ public bool IsInitiator { get; }
+ public static string IsInitiatorProperty { get; }
+ public static string IsOutOfBandTokenProperty { get; }
+ public static string IssuedSecurityTokenParametersProperty { get; }
+ public EndpointAddress IssuerAddress { get; set; }
+ public static string IssuerAddressProperty { get; }
+ public Binding IssuerBinding { get; set; }
+ public static string IssuerBindingContextProperty { get; }
+ public static string IssuerBindingProperty { get; }
+ public static string ListenUriProperty { get; }
+ public static string MessageAuthenticationAuditLevelProperty { get; }
+ public static string MessageDirectionProperty { get; }
+ public SecurityTokenVersion MessageSecurityVersion { get; set; }
+ public static string MessageSecurityVersionProperty { get; }
+ public static string PreferSslCertificateAuthenticatorProperty { get; }
+ public static string PrivacyNoticeUriProperty { get; }
+ public static string PrivacyNoticeVersionProperty { get; }
+ public SecurityBindingElement SecureConversationSecurityBindingElement { get; set; }
+ public static string SecureConversationSecurityBindingElementProperty { get; }
+ public SecurityAlgorithmSuite SecurityAlgorithmSuite { get; set; }
+ public static string SecurityAlgorithmSuiteProperty { get; }
+ public SecurityBindingElement SecurityBindingElement { get; set; }
+ public static string SecurityBindingElementProperty { get; }
+ public static string SupportingTokenAttachmentModeProperty { get; }
+ public static string SupportSecurityContextCancellationProperty { get; }
+ public static string SuppressAuditFailureProperty { get; }
+ public static string TargetAddressProperty { get; }
+ public string TransportScheme { get; set; }
+ public static string TransportSchemeProperty { get; }
+ public static string ViaProperty { get; }
+ }
+ public static class ServiceModelSecurityTokenTypes {
+ public static string AnonymousSslnego { get; }
+ public static string MutualSslnego { get; }
+ public static string SecureConversation { get; }
+ public static string SecurityContext { get; }
+ public static string Spnego { get; }
+ public static string SspiCredential { get; }
+ }
+ public class SspiSecurityToken : SecurityToken {
+ public SspiSecurityToken(NetworkCredential networkCredential, bool extractGroupsForWindowsAccounts, bool allowUnauthenticatedCallers);
+ public SspiSecurityToken(TokenImpersonationLevel impersonationLevel, bool allowNtlm, NetworkCredential networkCredential);
+ public bool AllowNtlm { get; }
+ public bool AllowUnauthenticatedCallers { get; }
+ public bool ExtractGroupsForWindowsAccounts { get; }
+ public override string Id { get; }
+ public TokenImpersonationLevel ImpersonationLevel { get; }
+ public NetworkCredential NetworkCredential { get; }
+ public override ReadOnlyCollection<SecurityKey> SecurityKeys { get; }
+ public override DateTime ValidFrom { get; }
+ public override DateTime ValidTo { get; }
+ }
+ public class SupportingTokenParameters {
+ public SupportingTokenParameters();
+ public Collection<SecurityTokenParameters> Endorsing { get; }
+ public Collection<SecurityTokenParameters> Signed { get; }
+ public Collection<SecurityTokenParameters> SignedEncrypted { get; }
+ public Collection<SecurityTokenParameters> SignedEndorsing { get; }
+ public SupportingTokenParameters Clone();
+ protected virtual SupportingTokenParameters CloneCore();
+ public void SetKeyDerivation(bool requireDerivedKeys);
+ public override string ToString();
+ }
+ public class UserNameSecurityTokenParameters : SecurityTokenParameters {
+ public UserNameSecurityTokenParameters();
+ protected UserNameSecurityTokenParameters(UserNameSecurityTokenParameters other);
+ protected internal override bool HasAsymmetricKey { get; }
+ protected internal override bool SupportsClientAuthentication { get; }
+ protected internal override bool SupportsClientWindowsIdentity { get; }
+ protected internal override bool SupportsServerAuthentication { get; }
+ protected override SecurityTokenParameters CloneCore();
+ }
+ public enum X509KeyIdentifierClauseType {
+ Any = 0,
+ IssuerSerial = 2,
+ RawDataKeyIdentifier = 4,
+ SubjectKeyIdentifier = 3,
+ Thumbprint = 1,
+ }
+}
```
# System.ServiceModel.Security.Tokens
``` diff
+namespace System.ServiceModel.Security.Tokens {
+ public class ClaimTypeRequirement {
+ public ClaimTypeRequirement(string claimType);
+ public ClaimTypeRequirement(string claimType, bool isOptional);
+ public string ClaimType { get; }
+ public bool IsOptional { get; }
+ }
+ public sealed class InitiatorServiceModelSecurityTokenRequirement : ServiceModelSecurityTokenRequirement {
+ public InitiatorServiceModelSecurityTokenRequirement();
+ public EndpointAddress TargetAddress { get; set; }
+ public Uri Via { get; set; }
+ public override string ToString();
+ }
+ public interface ISecurityContextSecurityTokenCache {
+ void AddContext(SecurityContextSecurityToken token);
+ void ClearContexts();
+ Collection<SecurityContextSecurityToken> GetAllContexts(UniqueId contextId);
+ SecurityContextSecurityToken GetContext(UniqueId contextId, UniqueId generation);
+ void RemoveAllContexts(UniqueId contextId);
+ void RemoveContext(UniqueId contextId, UniqueId generation);
+ bool TryAddContext(SecurityContextSecurityToken token);
+ void UpdateContextCachingTime(SecurityContextSecurityToken context, DateTime expirationTime);
+ }
+ public sealed class RecipientServiceModelSecurityTokenRequirement : ServiceModelSecurityTokenRequirement {
+ public RecipientServiceModelSecurityTokenRequirement();
+ public Uri ListenUri { get; set; }
+ public override string ToString();
+ }
+ public class SecureConversationSecurityTokenParameters : SecurityTokenParameters {
+ public SecureConversationSecurityTokenParameters();
+ public SecureConversationSecurityTokenParameters(SecurityBindingElement bootstrapSecurityBindingElement);
+ protected SecureConversationSecurityTokenParameters(SecureConversationSecurityTokenParameters other);
+ public SecurityBindingElement BootstrapSecurityBindingElement { get; set; }
+ protected internal override bool HasAsymmetricKey { get; }
+ protected internal override bool SupportsClientAuthentication { get; }
+ protected internal override bool SupportsClientWindowsIdentity { get; }
+ protected internal override bool SupportsServerAuthentication { get; }
+ protected override SecurityTokenParameters CloneCore();
+ public override string ToString();
+ }
+ public class SecurityContextSecurityToken : SecurityToken, IDisposable, TimeBoundedCache.IExpirableItem {
+ public SecurityContextSecurityToken(UniqueId contextId, byte[] key, DateTime validFrom, DateTime validTo);
+ public SecurityContextSecurityToken(UniqueId contextId, string id, byte[] key, DateTime validFrom, DateTime validTo);
+ public SecurityContextSecurityToken(UniqueId contextId, string id, byte[] key, DateTime validFrom, DateTime validTo, ReadOnlyCollection<IAuthorizationPolicy> authorizationPolicies);
+ public SecurityContextSecurityToken(UniqueId contextId, string id, byte[] key, DateTime validFrom, DateTime validTo, UniqueId keyGeneration, DateTime keyEffectiveTime, DateTime keyExpirationTime, ReadOnlyCollection<IAuthorizationPolicy> authorizationPolicies);
+ public ReadOnlyCollection<IAuthorizationPolicy> AuthorizationPolicies { get; internal set; }
+ public SecurityMessageProperty BootstrapMessageProperty { get; set; }
+ public UniqueId ContextId { get; }
+ public override string Id { get; }
+ public bool IsCookieMode { get; }
+ public DateTime KeyEffectiveTime { get; }
+ public DateTime KeyExpirationTime { get; }
+ public UniqueId KeyGeneration { get; }
+ public override ReadOnlyCollection<SecurityKey> SecurityKeys { get; }
+ public override DateTime ValidFrom { get; }
+ public override DateTime ValidTo { get; }
+ public static SecurityContextSecurityToken CreateCookieSecurityContextToken(UniqueId contextId, string id, byte[] key, DateTime validFrom, DateTime validTo, ReadOnlyCollection<IAuthorizationPolicy> authorizationPolicies, SecurityStateEncoder securityStateEncoder);
+ public static SecurityContextSecurityToken CreateCookieSecurityContextToken(UniqueId contextId, string id, byte[] key, DateTime validFrom, DateTime validTo, UniqueId keyGeneration, DateTime keyEffectiveTime, DateTime keyExpirationTime, ReadOnlyCollection<IAuthorizationPolicy> authorizationPolicies, SecurityStateEncoder securityStateEncoder);
+ public void Dispose();
+ public override string ToString();
+ }
+ public enum SecurityTokenInclusionMode {
+ AlwaysToInitiator = 3,
+ AlwaysToRecipient = 0,
+ Never = 1,
+ Once = 2,
+ }
+ public abstract class SecurityTokenParameters {
+ protected SecurityTokenParameters();
+ protected SecurityTokenParameters(SecurityTokenParameters other);
+ protected internal abstract bool HasAsymmetricKey { get; }
+ public bool RequireDerivedKeys { get; set; }
+ protected internal abstract bool SupportsClientAuthentication { get; }
+ protected internal abstract bool SupportsClientWindowsIdentity { get; }
+ protected internal abstract bool SupportsServerAuthentication { get; }
+ public SecurityTokenParameters Clone();
+ protected abstract SecurityTokenParameters CloneCore();
+ public override string ToString();
+ }
+ public enum SecurityTokenReferenceStyle {
+ External = 1,
+ Internal = 0,
+ }
+ public abstract class ServiceModelSecurityTokenRequirement : SecurityTokenRequirement {
+ protected const string Namespace = "http://schemas.microsoft.com/ws/2006/05/servicemodel/securitytokenrequirement";
+ protected ServiceModelSecurityTokenRequirement();
+ public static string AuditLogLocationProperty { get; }
+ public static string ChannelParametersCollectionProperty { get; }
+ public static string DuplexClientLocalAddressProperty { get; }
+ public static string EndpointFilterTableProperty { get; }
+ public static string ExtendedProtectionPolicy { get; }
+ public static string HttpAuthenticationSchemeProperty { get; }
+ public bool IsInitiator { get; }
+ public static string IsInitiatorProperty { get; }
+ public static string IsOutOfBandTokenProperty { get; }
+ public static string IssuedSecurityTokenParametersProperty { get; }
+ public EndpointAddress IssuerAddress { get; set; }
+ public static string IssuerAddressProperty { get; }
+ public Binding IssuerBinding { get; set; }
+ public static string IssuerBindingContextProperty { get; }
+ public static string IssuerBindingProperty { get; }
+ public static string ListenUriProperty { get; }
+ public static string MessageAuthenticationAuditLevelProperty { get; }
+ public static string MessageDirectionProperty { get; }
+ public SecurityTokenVersion MessageSecurityVersion { get; set; }
+ public static string MessageSecurityVersionProperty { get; }
+ public static string PreferSslCertificateAuthenticatorProperty { get; }
+ public static string PrivacyNoticeUriProperty { get; }
+ public static string PrivacyNoticeVersionProperty { get; }
+ public SecurityBindingElement SecureConversationSecurityBindingElement { get; set; }
+ public static string SecureConversationSecurityBindingElementProperty { get; }
+ public SecurityAlgorithmSuite SecurityAlgorithmSuite { get; set; }
+ public static string SecurityAlgorithmSuiteProperty { get; }
+ public SecurityBindingElement SecurityBindingElement { get; set; }
+ public static string SecurityBindingElementProperty { get; }
+ public static string SupportingTokenAttachmentModeProperty { get; }
+ public static string SupportSecurityContextCancellationProperty { get; }
+ public static string SuppressAuditFailureProperty { get; }
+ public static string TargetAddressProperty { get; }
+ public string TransportScheme { get; set; }
+ public static string TransportSchemeProperty { get; }
+ public static string ViaProperty { get; }
+ }
+ public static class ServiceModelSecurityTokenTypes {
+ public static string AnonymousSslnego { get; }
+ public static string MutualSslnego { get; }
+ public static string SecureConversation { get; }
+ public static string SecurityContext { get; }
+ public static string Spnego { get; }
+ public static string SspiCredential { get; }
+ }
+ public class SspiSecurityToken : SecurityToken {
+ public SspiSecurityToken(NetworkCredential networkCredential, bool extractGroupsForWindowsAccounts, bool allowUnauthenticatedCallers);
+ public SspiSecurityToken(TokenImpersonationLevel impersonationLevel, bool allowNtlm, NetworkCredential networkCredential);
+ public bool AllowNtlm { get; }
+ public bool AllowUnauthenticatedCallers { get; }
+ public bool ExtractGroupsForWindowsAccounts { get; }
+ public override string Id { get; }
+ public TokenImpersonationLevel ImpersonationLevel { get; }
+ public NetworkCredential NetworkCredential { get; }
+ public override ReadOnlyCollection<SecurityKey> SecurityKeys { get; }
+ public override DateTime ValidFrom { get; }
+ public override DateTime ValidTo { get; }
+ }
+ public class SupportingTokenParameters {
+ public SupportingTokenParameters();
+ public Collection<SecurityTokenParameters> Endorsing { get; }
+ public Collection<SecurityTokenParameters> Signed { get; }
+ public Collection<SecurityTokenParameters> SignedEncrypted { get; }
+ public Collection<SecurityTokenParameters> SignedEndorsing { get; }
+ public SupportingTokenParameters Clone();
+ protected virtual SupportingTokenParameters CloneCore();
+ public void SetKeyDerivation(bool requireDerivedKeys);
+ public override string ToString();
+ }
+ public class UserNameSecurityTokenParameters : SecurityTokenParameters {
+ public UserNameSecurityTokenParameters();
+ protected UserNameSecurityTokenParameters(UserNameSecurityTokenParameters other);
+ protected internal override bool HasAsymmetricKey { get; }
+ protected internal override bool SupportsClientAuthentication { get; }
+ protected internal override bool SupportsClientWindowsIdentity { get; }
+ protected internal override bool SupportsServerAuthentication { get; }
+ protected override SecurityTokenParameters CloneCore();
+ }
+ public enum X509KeyIdentifierClauseType {
+ Any = 0,
+ IssuerSerial = 2,
+ RawDataKeyIdentifier = 4,
+ SubjectKeyIdentifier = 3,
+ Thumbprint = 1,
+ }
+}
```

View File

@@ -1,372 +1,372 @@
# System.ServiceModel.Security
``` diff
+namespace System.ServiceModel.Security {
+ public class Basic128SecurityAlgorithmSuite : SecurityAlgorithmSuite {
+ public Basic128SecurityAlgorithmSuite();
+ public override string DefaultAsymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultAsymmetricSignatureAlgorithm { get; }
+ public override string DefaultCanonicalizationAlgorithm { get; }
+ public override string DefaultDigestAlgorithm { get; }
+ public override string DefaultEncryptionAlgorithm { get; }
+ public override int DefaultEncryptionKeyDerivationLength { get; }
+ public override int DefaultSignatureKeyDerivationLength { get; }
+ public override int DefaultSymmetricKeyLength { get; }
+ public override string DefaultSymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultSymmetricSignatureAlgorithm { get; }
+ public override bool IsAsymmetricKeyLengthSupported(int length);
+ public override bool IsSymmetricKeyLengthSupported(int length);
+ public override string ToString();
+ }
+ public class Basic192SecurityAlgorithmSuite : SecurityAlgorithmSuite {
+ public Basic192SecurityAlgorithmSuite();
+ public override string DefaultAsymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultAsymmetricSignatureAlgorithm { get; }
+ public override string DefaultCanonicalizationAlgorithm { get; }
+ public override string DefaultDigestAlgorithm { get; }
+ public override string DefaultEncryptionAlgorithm { get; }
+ public override int DefaultEncryptionKeyDerivationLength { get; }
+ public override int DefaultSignatureKeyDerivationLength { get; }
+ public override int DefaultSymmetricKeyLength { get; }
+ public override string DefaultSymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultSymmetricSignatureAlgorithm { get; }
+ public override bool IsAsymmetricKeyLengthSupported(int length);
+ public override bool IsSymmetricKeyLengthSupported(int length);
+ public override string ToString();
+ }
+ public class Basic256SecurityAlgorithmSuite : SecurityAlgorithmSuite {
+ public Basic256SecurityAlgorithmSuite();
+ public override string DefaultAsymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultAsymmetricSignatureAlgorithm { get; }
+ public override string DefaultCanonicalizationAlgorithm { get; }
+ public override string DefaultDigestAlgorithm { get; }
+ public override string DefaultEncryptionAlgorithm { get; }
+ public override int DefaultEncryptionKeyDerivationLength { get; }
+ public override int DefaultSignatureKeyDerivationLength { get; }
+ public override int DefaultSymmetricKeyLength { get; }
+ public override string DefaultSymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultSymmetricSignatureAlgorithm { get; }
+ public override bool IsAsymmetricKeyLengthSupported(int length);
+ public override bool IsSymmetricKeyLengthSupported(int length);
+ public override string ToString();
+ }
+ public abstract class BasicSecurityProfileVersion {
+ public static BasicSecurityProfileVersion BasicSecurityProfile10 { get; }
+ }
+ public class ChannelProtectionRequirements {
+ public ChannelProtectionRequirements();
+ public ChannelProtectionRequirements(ChannelProtectionRequirements other);
+ public ScopedMessagePartSpecification IncomingEncryptionParts { get; }
+ public ScopedMessagePartSpecification IncomingSignatureParts { get; }
+ public bool IsReadOnly { get; }
+ public ScopedMessagePartSpecification OutgoingEncryptionParts { get; }
+ public ScopedMessagePartSpecification OutgoingSignatureParts { get; }
+ public void Add(ChannelProtectionRequirements protectionRequirements);
+ public void Add(ChannelProtectionRequirements protectionRequirements, bool channelScopeOnly);
+ public ChannelProtectionRequirements CreateInverse();
+ public void MakeReadOnly();
+ }
+ public sealed class HttpDigestClientCredential {
+ public NetworkCredential ClientCredential { get; set; }
+ }
+ public abstract class IdentityVerifier {
+ protected IdentityVerifier();
+ public abstract bool CheckAccess(EndpointIdentity identity, AuthorizationContext authContext);
+ public static IdentityVerifier CreateDefault();
+ public abstract bool TryGetIdentity(EndpointAddress reference, out EndpointIdentity identity);
+ }
+ public interface ISecuritySession : ISession {
+ EndpointIdentity RemoteIdentity { get; }
+ }
+ public class MessagePartSpecification {
+ public MessagePartSpecification();
+ public MessagePartSpecification(bool isBodyIncluded);
+ public MessagePartSpecification(bool isBodyIncluded, params XmlQualifiedName[] headerTypes);
+ public MessagePartSpecification(params XmlQualifiedName[] headerTypes);
+ public ICollection<XmlQualifiedName> HeaderTypes { get; }
+ public bool IsBodyIncluded { get; set; }
+ public bool IsReadOnly { get; }
+ public static MessagePartSpecification NoParts { get; }
+ public void Clear();
+ public void MakeReadOnly();
+ public void Union(MessagePartSpecification specification);
+ }
+ public enum MessageProtectionOrder {
+ EncryptBeforeSign = 2,
+ SignBeforeEncrypt = 0,
+ SignBeforeEncryptAndEncryptSignature = 1,
+ }
+ public class MessageSecurityException : CommunicationException {
+ public MessageSecurityException();
+ public MessageSecurityException(string message);
+ public MessageSecurityException(string message, Exception innerException);
+ }
+ public sealed class MessageSecurityTokenVersion : SecurityTokenVersion {
+ public bool EmitBspRequiredAttributes { get; }
+ public SecureConversationVersion SecureConversationVersion { get; }
+ public SecurityVersion SecurityVersion { get; }
+ public TrustVersion TrustVersion { get; }
+ public static MessageSecurityTokenVersion WSSecurity10WSTrust13WSSecureConversation13BasicSecurityProfile10 { get; }
+ public static MessageSecurityTokenVersion WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005BasicSecurityProfile10 { get; }
+ public static MessageSecurityTokenVersion WSSecurity11WSTrust13WSSecureConversation13 { get; }
+ public static MessageSecurityTokenVersion WSSecurity11WSTrust13WSSecureConversation13BasicSecurityProfile10 { get; }
+ public static MessageSecurityTokenVersion WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005 { get; }
+ public static MessageSecurityTokenVersion WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005BasicSecurityProfile10 { get; }
+ public override ReadOnlyCollection<string> GetSecuritySpecifications();
+ public static MessageSecurityTokenVersion GetSecurityTokenVersion(SecurityVersion version, bool emitBspAttributes);
+ public override string ToString();
+ }
+ public abstract class NonceCache {
+ protected NonceCache();
+ public int CacheSize { get; set; }
+ public TimeSpan CachingTimeSpan { get; set; }
+ public abstract bool CheckNonce(byte[] nonce);
+ public abstract bool TryAddNonce(byte[] nonce);
+ }
+ public static class ProtectionLevelHelper {
+ public static int GetOrdinal(Nullable<ProtectionLevel> p);
+ public static bool IsDefined(ProtectionLevel value);
+ public static bool IsStronger(ProtectionLevel v1, ProtectionLevel v2);
+ public static bool IsStrongerOrEqual(ProtectionLevel v1, ProtectionLevel v2);
+ public static ProtectionLevel Max(ProtectionLevel v1, ProtectionLevel v2);
+ public static void Validate(ProtectionLevel value);
+ }
+ public class ScopedMessagePartSpecification {
+ public ScopedMessagePartSpecification();
+ public ScopedMessagePartSpecification(ScopedMessagePartSpecification other);
+ public ICollection<string> Actions { get; }
+ public MessagePartSpecification ChannelParts { get; }
+ public bool IsReadOnly { get; }
+ public void AddParts(MessagePartSpecification parts);
+ public void AddParts(MessagePartSpecification parts, string action);
+ public void MakeReadOnly();
+ public bool TryGetParts(string action, bool excludeChannelScope, out MessagePartSpecification parts);
+ public bool TryGetParts(string action, out MessagePartSpecification parts);
+ }
+ public abstract class SecureConversationVersion {
+ public static SecureConversationVersion Default { get; }
+ public XmlDictionaryString Namespace { get; }
+ public XmlDictionaryString Prefix { get; }
+ public static SecureConversationVersion WSSecureConversation13 { get; }
+ public static SecureConversationVersion WSSecureConversationFeb2005 { get; }
+ }
+ public class SecurityAccessDeniedException : CommunicationException {
+ public SecurityAccessDeniedException(string message);
+ public SecurityAccessDeniedException(string message, Exception innerException);
+ }
+ public abstract class SecurityAlgorithmSuite {
+ protected SecurityAlgorithmSuite();
+ public static SecurityAlgorithmSuite Basic128 { get; }
+ public static SecurityAlgorithmSuite Basic128Rsa15 { get; }
+ public static SecurityAlgorithmSuite Basic128Sha256 { get; }
+ public static SecurityAlgorithmSuite Basic128Sha256Rsa15 { get; }
+ public static SecurityAlgorithmSuite Basic192 { get; }
+ public static SecurityAlgorithmSuite Basic192Rsa15 { get; }
+ public static SecurityAlgorithmSuite Basic192Sha256 { get; }
+ public static SecurityAlgorithmSuite Basic192Sha256Rsa15 { get; }
+ public static SecurityAlgorithmSuite Basic256 { get; }
+ public static SecurityAlgorithmSuite Basic256Rsa15 { get; }
+ public static SecurityAlgorithmSuite Basic256Sha256 { get; }
+ public static SecurityAlgorithmSuite Basic256Sha256Rsa15 { get; }
+ public static SecurityAlgorithmSuite Default { get; }
+ public abstract string DefaultAsymmetricKeyWrapAlgorithm { get; }
+ public abstract string DefaultAsymmetricSignatureAlgorithm { get; }
+ public abstract string DefaultCanonicalizationAlgorithm { get; }
+ public abstract string DefaultDigestAlgorithm { get; }
+ public abstract string DefaultEncryptionAlgorithm { get; }
+ public abstract int DefaultEncryptionKeyDerivationLength { get; }
+ public abstract int DefaultSignatureKeyDerivationLength { get; }
+ public abstract int DefaultSymmetricKeyLength { get; }
+ public abstract string DefaultSymmetricKeyWrapAlgorithm { get; }
+ public abstract string DefaultSymmetricSignatureAlgorithm { get; }
+ public static SecurityAlgorithmSuite TripleDes { get; }
+ public static SecurityAlgorithmSuite TripleDesRsa15 { get; }
+ public static SecurityAlgorithmSuite TripleDesSha256 { get; }
+ public static SecurityAlgorithmSuite TripleDesSha256Rsa15 { get; }
+ public abstract bool IsAsymmetricKeyLengthSupported(int length);
+ public virtual bool IsAsymmetricKeyWrapAlgorithmSupported(string algorithm);
+ public virtual bool IsAsymmetricSignatureAlgorithmSupported(string algorithm);
+ public virtual bool IsCanonicalizationAlgorithmSupported(string algorithm);
+ public virtual bool IsDigestAlgorithmSupported(string algorithm);
+ public virtual bool IsEncryptionAlgorithmSupported(string algorithm);
+ public virtual bool IsEncryptionKeyDerivationAlgorithmSupported(string algorithm);
+ public virtual bool IsSignatureKeyDerivationAlgorithmSupported(string algorithm);
+ public abstract bool IsSymmetricKeyLengthSupported(int length);
+ public virtual bool IsSymmetricKeyWrapAlgorithmSupported(string algorithm);
+ public virtual bool IsSymmetricSignatureAlgorithmSupported(string algorithm);
+ }
+ public class SecurityContextKeyIdentifierClause : SecurityKeyIdentifierClause {
+ public SecurityContextKeyIdentifierClause(UniqueId contextId);
+ public SecurityContextKeyIdentifierClause(UniqueId contextId, UniqueId generation);
+ public SecurityContextKeyIdentifierClause(UniqueId contextId, UniqueId generation, byte[] derivationNonce, int derivationLength);
+ public UniqueId ContextId { get; }
+ public UniqueId Generation { get; }
+ public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause);
+ public bool Matches(UniqueId contextId, UniqueId generation);
+ public override string ToString();
+ }
+ public abstract class SecurityCredentialsManager {
+ protected SecurityCredentialsManager();
+ public abstract SecurityTokenManager CreateSecurityTokenManager();
+ }
+ public enum SecurityKeyEntropyMode {
+ ClientEntropy = 0,
+ CombinedEntropy = 2,
+ ServerEntropy = 1,
+ }
+ public class SecurityMessageProperty : IDisposable, IMessageProperty {
+ public SecurityMessageProperty();
+ public ReadOnlyCollection<IAuthorizationPolicy> ExternalAuthorizationPolicies { get; set; }
+ public bool HasIncomingSupportingTokens { get; }
+ public Collection<SupportingTokenSpecification> IncomingSupportingTokens { get; }
+ public SecurityTokenSpecification InitiatorToken { get; set; }
+ public Collection<SupportingTokenSpecification> OutgoingSupportingTokens { get; }
+ public SecurityTokenSpecification ProtectionToken { get; set; }
+ public SecurityTokenSpecification RecipientToken { get; set; }
+ public string SenderIdPrefix { get; set; }
+ public ServiceSecurityContext ServiceSecurityContext { get; set; }
+ public SecurityTokenSpecification TransportToken { get; set; }
+ public IMessageProperty CreateCopy();
+ public void Dispose();
+ public static SecurityMessageProperty GetOrCreate(Message message);
+ }
+ public class SecurityNegotiationException : CommunicationException {
+ public SecurityNegotiationException();
+ public SecurityNegotiationException(string message);
+ public SecurityNegotiationException(string message, Exception innerException);
+ }
+ public abstract class SecurityPolicyVersion {
+ public string Namespace { get; }
+ public string Prefix { get; }
+ public static SecurityPolicyVersion WSSecurityPolicy11 { get; }
+ public static SecurityPolicyVersion WSSecurityPolicy12 { get; }
+ }
+ public abstract class SecurityStateEncoder {
+ protected SecurityStateEncoder();
+ protected internal abstract byte[] DecodeSecurityState(byte[] data);
+ protected internal abstract byte[] EncodeSecurityState(byte[] data);
+ }
+ public enum SecurityTokenAttachmentMode {
+ Endorsing = 1,
+ Signed = 0,
+ SignedEncrypted = 3,
+ SignedEndorsing = 2,
+ }
+ public class SecurityTokenSpecification {
+ public SecurityTokenSpecification(SecurityToken token, ReadOnlyCollection<IAuthorizationPolicy> tokenPolicies);
+ public SecurityToken SecurityToken { get; }
+ public ReadOnlyCollection<IAuthorizationPolicy> SecurityTokenPolicies { get; }
+ }
+ public abstract class SecurityVersion {
+ public static SecurityVersion WSSecurity10 { get; }
+ public static SecurityVersion WSSecurity11 { get; }
+ }
+ public class SspiSecurityTokenProvider : SecurityTokenProvider {
+ public SspiSecurityTokenProvider(NetworkCredential credential, bool extractGroupsForWindowsAccounts, bool allowUnauthenticatedCallers);
+ public SspiSecurityTokenProvider(NetworkCredential credential, bool allowNtlm, TokenImpersonationLevel impersonationLevel);
+ protected override Task<SecurityToken> GetTokenCoreAsync(CancellationToken cancellationToken);
+ }
+ public class SupportingTokenSpecification : SecurityTokenSpecification {
+ public SupportingTokenSpecification(SecurityToken token, ReadOnlyCollection<IAuthorizationPolicy> tokenPolicies, SecurityTokenAttachmentMode attachmentMode);
+ public SupportingTokenSpecification(SecurityToken token, ReadOnlyCollection<IAuthorizationPolicy> tokenPolicies, SecurityTokenAttachmentMode attachmentMode, SecurityTokenParameters tokenParameters);
+ public SecurityTokenAttachmentMode SecurityTokenAttachmentMode { get; }
+ }
+ public class TripleDesSecurityAlgorithmSuite : SecurityAlgorithmSuite {
+ public TripleDesSecurityAlgorithmSuite();
+ public override string DefaultAsymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultAsymmetricSignatureAlgorithm { get; }
+ public override string DefaultCanonicalizationAlgorithm { get; }
+ public override string DefaultDigestAlgorithm { get; }
+ public override string DefaultEncryptionAlgorithm { get; }
+ public override int DefaultEncryptionKeyDerivationLength { get; }
+ public override int DefaultSignatureKeyDerivationLength { get; }
+ public override int DefaultSymmetricKeyLength { get; }
+ public override string DefaultSymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultSymmetricSignatureAlgorithm { get; }
+ public override bool IsAsymmetricKeyLengthSupported(int length);
+ public override bool IsSymmetricKeyLengthSupported(int length);
+ public override string ToString();
+ }
+ public abstract class TrustVersion {
+ public static TrustVersion Default { get; }
+ public XmlDictionaryString Namespace { get; }
+ public XmlDictionaryString Prefix { get; }
+ public static TrustVersion WSTrust13 { get; }
+ public static TrustVersion WSTrustFeb2005 { get; }
+ }
+ public sealed class UserNamePasswordClientCredential {
+ public string Password { get; set; }
+ public string UserName { get; set; }
+ }
+ public sealed class WindowsClientCredential {
+ public TokenImpersonationLevel AllowedImpersonationLevel { get; set; }
+ public bool AllowNtlm { get; set; }
+ public NetworkCredential ClientCredential { get; set; }
+ }
+ public class WSSecurityTokenSerializer : SecurityTokenSerializer {
+ public WSSecurityTokenSerializer();
+ public WSSecurityTokenSerializer(bool emitBspRequiredAttributes);
+ public WSSecurityTokenSerializer(SecurityVersion securityVersion);
+ public WSSecurityTokenSerializer(SecurityVersion securityVersion, bool emitBspRequiredAttributes);
+ public WSSecurityTokenSerializer(SecurityVersion securityVersion, bool emitBspRequiredAttributes, SamlSerializer samlSerializer);
+ public WSSecurityTokenSerializer(SecurityVersion securityVersion, bool emitBspRequiredAttributes, SamlSerializer samlSerializer, SecurityStateEncoder securityStateEncoder, IEnumerable<Type> knownTypes);
+ public WSSecurityTokenSerializer(SecurityVersion securityVersion, bool emitBspRequiredAttributes, SamlSerializer samlSerializer, SecurityStateEncoder securityStateEncoder, IEnumerable<Type> knownTypes, int maximumKeyDerivationOffset, int maximumKeyDerivationLabelLength, int maximumKeyDerivationNonceLength);
+ public WSSecurityTokenSerializer(SecurityVersion securityVersion, TrustVersion trustVersion, SecureConversationVersion secureConversationVersion, bool emitBspRequiredAttributes, SamlSerializer samlSerializer, SecurityStateEncoder securityStateEncoder, IEnumerable<Type> knownTypes);
+ public WSSecurityTokenSerializer(SecurityVersion securityVersion, TrustVersion trustVersion, SecureConversationVersion secureConversationVersion, bool emitBspRequiredAttributes, SamlSerializer samlSerializer, SecurityStateEncoder securityStateEncoder, IEnumerable<Type> knownTypes, int maximumKeyDerivationOffset, int maximumKeyDerivationLabelLength, int maximumKeyDerivationNonceLength);
+ public static WSSecurityTokenSerializer DefaultInstance { get; }
+ public bool EmitBspRequiredAttributes { get; }
+ public int MaximumKeyDerivationLabelLength { get; }
+ public int MaximumKeyDerivationNonceLength { get; }
+ public int MaximumKeyDerivationOffset { get; }
+ public SecurityVersion SecurityVersion { get; }
+ protected override bool CanReadKeyIdentifierClauseCore(XmlReader reader);
+ protected override bool CanReadKeyIdentifierCore(XmlReader reader);
+ protected override bool CanReadTokenCore(XmlReader reader);
+ protected override bool CanWriteKeyIdentifierClauseCore(SecurityKeyIdentifierClause keyIdentifierClause);
+ protected override bool CanWriteKeyIdentifierCore(SecurityKeyIdentifier keyIdentifier);
+ protected override bool CanWriteTokenCore(SecurityToken token);
+ public virtual SecurityKeyIdentifierClause CreateKeyIdentifierClauseFromTokenXml(XmlElement element, SecurityTokenReferenceStyle tokenReferenceStyle);
+ protected internal virtual string GetTokenTypeUri(Type tokenType);
+ protected override SecurityKeyIdentifierClause ReadKeyIdentifierClauseCore(XmlReader reader);
+ protected override SecurityKeyIdentifier ReadKeyIdentifierCore(XmlReader reader);
+ protected override SecurityToken ReadTokenCore(XmlReader reader, SecurityTokenResolver tokenResolver);
+ public virtual bool TryCreateKeyIdentifierClauseFromTokenXml(XmlElement element, SecurityTokenReferenceStyle tokenReferenceStyle, out SecurityKeyIdentifierClause securityKeyIdentifierClause);
+ protected override void WriteKeyIdentifierClauseCore(XmlWriter writer, SecurityKeyIdentifierClause keyIdentifierClause);
+ protected override void WriteKeyIdentifierCore(XmlWriter writer, SecurityKeyIdentifier keyIdentifier);
+ protected override void WriteTokenCore(XmlWriter writer, SecurityToken token);
+ }
+ public sealed class X509CertificateInitiatorClientCredential {
+ public X509Certificate2 Certificate { get; set; }
+ public void SetCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, object findValue);
+ public void SetCertificate(string subjectName, StoreLocation storeLocation, StoreName storeName);
+ }
+ public sealed class X509CertificateRecipientClientCredential {
+ public X509ServiceCertificateAuthentication Authentication { get; }
+ public X509Certificate2 DefaultCertificate { get; set; }
+ public Dictionary<Uri, X509Certificate2> ScopedCertificates { get; }
+ public X509ServiceCertificateAuthentication SslCertificateAuthentication { get; set; }
+ public void SetDefaultCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, object findValue);
+ public void SetDefaultCertificate(string subjectName, StoreLocation storeLocation, StoreName storeName);
+ public void SetScopedCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, object findValue, Uri targetService);
+ public void SetScopedCertificate(string subjectName, StoreLocation storeLocation, StoreName storeName, Uri targetService);
+ }
+ public enum X509CertificateValidationMode {
+ ChainTrust = 2,
+ Custom = 4,
+ None = 0,
+ PeerOrChainTrust = 3,
+ PeerTrust = 1,
+ }
+ public class X509ClientCertificateAuthentication {
+ public X509ClientCertificateAuthentication();
+ }
+ public sealed class X509ServiceCertificateAuthentication {
+ public X509ServiceCertificateAuthentication();
+ public X509CertificateValidationMode CertificateValidationMode { get; set; }
+ public X509CertificateValidator CustomCertificateValidator { get; set; }
+ public X509RevocationMode RevocationMode { get; set; }
+ public StoreLocation TrustedStoreLocation { get; set; }
+ }
+}
```
# System.ServiceModel.Security
``` diff
+namespace System.ServiceModel.Security {
+ public class Basic128SecurityAlgorithmSuite : SecurityAlgorithmSuite {
+ public Basic128SecurityAlgorithmSuite();
+ public override string DefaultAsymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultAsymmetricSignatureAlgorithm { get; }
+ public override string DefaultCanonicalizationAlgorithm { get; }
+ public override string DefaultDigestAlgorithm { get; }
+ public override string DefaultEncryptionAlgorithm { get; }
+ public override int DefaultEncryptionKeyDerivationLength { get; }
+ public override int DefaultSignatureKeyDerivationLength { get; }
+ public override int DefaultSymmetricKeyLength { get; }
+ public override string DefaultSymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultSymmetricSignatureAlgorithm { get; }
+ public override bool IsAsymmetricKeyLengthSupported(int length);
+ public override bool IsSymmetricKeyLengthSupported(int length);
+ public override string ToString();
+ }
+ public class Basic192SecurityAlgorithmSuite : SecurityAlgorithmSuite {
+ public Basic192SecurityAlgorithmSuite();
+ public override string DefaultAsymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultAsymmetricSignatureAlgorithm { get; }
+ public override string DefaultCanonicalizationAlgorithm { get; }
+ public override string DefaultDigestAlgorithm { get; }
+ public override string DefaultEncryptionAlgorithm { get; }
+ public override int DefaultEncryptionKeyDerivationLength { get; }
+ public override int DefaultSignatureKeyDerivationLength { get; }
+ public override int DefaultSymmetricKeyLength { get; }
+ public override string DefaultSymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultSymmetricSignatureAlgorithm { get; }
+ public override bool IsAsymmetricKeyLengthSupported(int length);
+ public override bool IsSymmetricKeyLengthSupported(int length);
+ public override string ToString();
+ }
+ public class Basic256SecurityAlgorithmSuite : SecurityAlgorithmSuite {
+ public Basic256SecurityAlgorithmSuite();
+ public override string DefaultAsymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultAsymmetricSignatureAlgorithm { get; }
+ public override string DefaultCanonicalizationAlgorithm { get; }
+ public override string DefaultDigestAlgorithm { get; }
+ public override string DefaultEncryptionAlgorithm { get; }
+ public override int DefaultEncryptionKeyDerivationLength { get; }
+ public override int DefaultSignatureKeyDerivationLength { get; }
+ public override int DefaultSymmetricKeyLength { get; }
+ public override string DefaultSymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultSymmetricSignatureAlgorithm { get; }
+ public override bool IsAsymmetricKeyLengthSupported(int length);
+ public override bool IsSymmetricKeyLengthSupported(int length);
+ public override string ToString();
+ }
+ public abstract class BasicSecurityProfileVersion {
+ public static BasicSecurityProfileVersion BasicSecurityProfile10 { get; }
+ }
+ public class ChannelProtectionRequirements {
+ public ChannelProtectionRequirements();
+ public ChannelProtectionRequirements(ChannelProtectionRequirements other);
+ public ScopedMessagePartSpecification IncomingEncryptionParts { get; }
+ public ScopedMessagePartSpecification IncomingSignatureParts { get; }
+ public bool IsReadOnly { get; }
+ public ScopedMessagePartSpecification OutgoingEncryptionParts { get; }
+ public ScopedMessagePartSpecification OutgoingSignatureParts { get; }
+ public void Add(ChannelProtectionRequirements protectionRequirements);
+ public void Add(ChannelProtectionRequirements protectionRequirements, bool channelScopeOnly);
+ public ChannelProtectionRequirements CreateInverse();
+ public void MakeReadOnly();
+ }
+ public sealed class HttpDigestClientCredential {
+ public NetworkCredential ClientCredential { get; set; }
+ }
+ public abstract class IdentityVerifier {
+ protected IdentityVerifier();
+ public abstract bool CheckAccess(EndpointIdentity identity, AuthorizationContext authContext);
+ public static IdentityVerifier CreateDefault();
+ public abstract bool TryGetIdentity(EndpointAddress reference, out EndpointIdentity identity);
+ }
+ public interface ISecuritySession : ISession {
+ EndpointIdentity RemoteIdentity { get; }
+ }
+ public class MessagePartSpecification {
+ public MessagePartSpecification();
+ public MessagePartSpecification(bool isBodyIncluded);
+ public MessagePartSpecification(bool isBodyIncluded, params XmlQualifiedName[] headerTypes);
+ public MessagePartSpecification(params XmlQualifiedName[] headerTypes);
+ public ICollection<XmlQualifiedName> HeaderTypes { get; }
+ public bool IsBodyIncluded { get; set; }
+ public bool IsReadOnly { get; }
+ public static MessagePartSpecification NoParts { get; }
+ public void Clear();
+ public void MakeReadOnly();
+ public void Union(MessagePartSpecification specification);
+ }
+ public enum MessageProtectionOrder {
+ EncryptBeforeSign = 2,
+ SignBeforeEncrypt = 0,
+ SignBeforeEncryptAndEncryptSignature = 1,
+ }
+ public class MessageSecurityException : CommunicationException {
+ public MessageSecurityException();
+ public MessageSecurityException(string message);
+ public MessageSecurityException(string message, Exception innerException);
+ }
+ public sealed class MessageSecurityTokenVersion : SecurityTokenVersion {
+ public bool EmitBspRequiredAttributes { get; }
+ public SecureConversationVersion SecureConversationVersion { get; }
+ public SecurityVersion SecurityVersion { get; }
+ public TrustVersion TrustVersion { get; }
+ public static MessageSecurityTokenVersion WSSecurity10WSTrust13WSSecureConversation13BasicSecurityProfile10 { get; }
+ public static MessageSecurityTokenVersion WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005BasicSecurityProfile10 { get; }
+ public static MessageSecurityTokenVersion WSSecurity11WSTrust13WSSecureConversation13 { get; }
+ public static MessageSecurityTokenVersion WSSecurity11WSTrust13WSSecureConversation13BasicSecurityProfile10 { get; }
+ public static MessageSecurityTokenVersion WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005 { get; }
+ public static MessageSecurityTokenVersion WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005BasicSecurityProfile10 { get; }
+ public override ReadOnlyCollection<string> GetSecuritySpecifications();
+ public static MessageSecurityTokenVersion GetSecurityTokenVersion(SecurityVersion version, bool emitBspAttributes);
+ public override string ToString();
+ }
+ public abstract class NonceCache {
+ protected NonceCache();
+ public int CacheSize { get; set; }
+ public TimeSpan CachingTimeSpan { get; set; }
+ public abstract bool CheckNonce(byte[] nonce);
+ public abstract bool TryAddNonce(byte[] nonce);
+ }
+ public static class ProtectionLevelHelper {
+ public static int GetOrdinal(Nullable<ProtectionLevel> p);
+ public static bool IsDefined(ProtectionLevel value);
+ public static bool IsStronger(ProtectionLevel v1, ProtectionLevel v2);
+ public static bool IsStrongerOrEqual(ProtectionLevel v1, ProtectionLevel v2);
+ public static ProtectionLevel Max(ProtectionLevel v1, ProtectionLevel v2);
+ public static void Validate(ProtectionLevel value);
+ }
+ public class ScopedMessagePartSpecification {
+ public ScopedMessagePartSpecification();
+ public ScopedMessagePartSpecification(ScopedMessagePartSpecification other);
+ public ICollection<string> Actions { get; }
+ public MessagePartSpecification ChannelParts { get; }
+ public bool IsReadOnly { get; }
+ public void AddParts(MessagePartSpecification parts);
+ public void AddParts(MessagePartSpecification parts, string action);
+ public void MakeReadOnly();
+ public bool TryGetParts(string action, bool excludeChannelScope, out MessagePartSpecification parts);
+ public bool TryGetParts(string action, out MessagePartSpecification parts);
+ }
+ public abstract class SecureConversationVersion {
+ public static SecureConversationVersion Default { get; }
+ public XmlDictionaryString Namespace { get; }
+ public XmlDictionaryString Prefix { get; }
+ public static SecureConversationVersion WSSecureConversation13 { get; }
+ public static SecureConversationVersion WSSecureConversationFeb2005 { get; }
+ }
+ public class SecurityAccessDeniedException : CommunicationException {
+ public SecurityAccessDeniedException(string message);
+ public SecurityAccessDeniedException(string message, Exception innerException);
+ }
+ public abstract class SecurityAlgorithmSuite {
+ protected SecurityAlgorithmSuite();
+ public static SecurityAlgorithmSuite Basic128 { get; }
+ public static SecurityAlgorithmSuite Basic128Rsa15 { get; }
+ public static SecurityAlgorithmSuite Basic128Sha256 { get; }
+ public static SecurityAlgorithmSuite Basic128Sha256Rsa15 { get; }
+ public static SecurityAlgorithmSuite Basic192 { get; }
+ public static SecurityAlgorithmSuite Basic192Rsa15 { get; }
+ public static SecurityAlgorithmSuite Basic192Sha256 { get; }
+ public static SecurityAlgorithmSuite Basic192Sha256Rsa15 { get; }
+ public static SecurityAlgorithmSuite Basic256 { get; }
+ public static SecurityAlgorithmSuite Basic256Rsa15 { get; }
+ public static SecurityAlgorithmSuite Basic256Sha256 { get; }
+ public static SecurityAlgorithmSuite Basic256Sha256Rsa15 { get; }
+ public static SecurityAlgorithmSuite Default { get; }
+ public abstract string DefaultAsymmetricKeyWrapAlgorithm { get; }
+ public abstract string DefaultAsymmetricSignatureAlgorithm { get; }
+ public abstract string DefaultCanonicalizationAlgorithm { get; }
+ public abstract string DefaultDigestAlgorithm { get; }
+ public abstract string DefaultEncryptionAlgorithm { get; }
+ public abstract int DefaultEncryptionKeyDerivationLength { get; }
+ public abstract int DefaultSignatureKeyDerivationLength { get; }
+ public abstract int DefaultSymmetricKeyLength { get; }
+ public abstract string DefaultSymmetricKeyWrapAlgorithm { get; }
+ public abstract string DefaultSymmetricSignatureAlgorithm { get; }
+ public static SecurityAlgorithmSuite TripleDes { get; }
+ public static SecurityAlgorithmSuite TripleDesRsa15 { get; }
+ public static SecurityAlgorithmSuite TripleDesSha256 { get; }
+ public static SecurityAlgorithmSuite TripleDesSha256Rsa15 { get; }
+ public abstract bool IsAsymmetricKeyLengthSupported(int length);
+ public virtual bool IsAsymmetricKeyWrapAlgorithmSupported(string algorithm);
+ public virtual bool IsAsymmetricSignatureAlgorithmSupported(string algorithm);
+ public virtual bool IsCanonicalizationAlgorithmSupported(string algorithm);
+ public virtual bool IsDigestAlgorithmSupported(string algorithm);
+ public virtual bool IsEncryptionAlgorithmSupported(string algorithm);
+ public virtual bool IsEncryptionKeyDerivationAlgorithmSupported(string algorithm);
+ public virtual bool IsSignatureKeyDerivationAlgorithmSupported(string algorithm);
+ public abstract bool IsSymmetricKeyLengthSupported(int length);
+ public virtual bool IsSymmetricKeyWrapAlgorithmSupported(string algorithm);
+ public virtual bool IsSymmetricSignatureAlgorithmSupported(string algorithm);
+ }
+ public class SecurityContextKeyIdentifierClause : SecurityKeyIdentifierClause {
+ public SecurityContextKeyIdentifierClause(UniqueId contextId);
+ public SecurityContextKeyIdentifierClause(UniqueId contextId, UniqueId generation);
+ public SecurityContextKeyIdentifierClause(UniqueId contextId, UniqueId generation, byte[] derivationNonce, int derivationLength);
+ public UniqueId ContextId { get; }
+ public UniqueId Generation { get; }
+ public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause);
+ public bool Matches(UniqueId contextId, UniqueId generation);
+ public override string ToString();
+ }
+ public abstract class SecurityCredentialsManager {
+ protected SecurityCredentialsManager();
+ public abstract SecurityTokenManager CreateSecurityTokenManager();
+ }
+ public enum SecurityKeyEntropyMode {
+ ClientEntropy = 0,
+ CombinedEntropy = 2,
+ ServerEntropy = 1,
+ }
+ public class SecurityMessageProperty : IDisposable, IMessageProperty {
+ public SecurityMessageProperty();
+ public ReadOnlyCollection<IAuthorizationPolicy> ExternalAuthorizationPolicies { get; set; }
+ public bool HasIncomingSupportingTokens { get; }
+ public Collection<SupportingTokenSpecification> IncomingSupportingTokens { get; }
+ public SecurityTokenSpecification InitiatorToken { get; set; }
+ public Collection<SupportingTokenSpecification> OutgoingSupportingTokens { get; }
+ public SecurityTokenSpecification ProtectionToken { get; set; }
+ public SecurityTokenSpecification RecipientToken { get; set; }
+ public string SenderIdPrefix { get; set; }
+ public ServiceSecurityContext ServiceSecurityContext { get; set; }
+ public SecurityTokenSpecification TransportToken { get; set; }
+ public IMessageProperty CreateCopy();
+ public void Dispose();
+ public static SecurityMessageProperty GetOrCreate(Message message);
+ }
+ public class SecurityNegotiationException : CommunicationException {
+ public SecurityNegotiationException();
+ public SecurityNegotiationException(string message);
+ public SecurityNegotiationException(string message, Exception innerException);
+ }
+ public abstract class SecurityPolicyVersion {
+ public string Namespace { get; }
+ public string Prefix { get; }
+ public static SecurityPolicyVersion WSSecurityPolicy11 { get; }
+ public static SecurityPolicyVersion WSSecurityPolicy12 { get; }
+ }
+ public abstract class SecurityStateEncoder {
+ protected SecurityStateEncoder();
+ protected internal abstract byte[] DecodeSecurityState(byte[] data);
+ protected internal abstract byte[] EncodeSecurityState(byte[] data);
+ }
+ public enum SecurityTokenAttachmentMode {
+ Endorsing = 1,
+ Signed = 0,
+ SignedEncrypted = 3,
+ SignedEndorsing = 2,
+ }
+ public class SecurityTokenSpecification {
+ public SecurityTokenSpecification(SecurityToken token, ReadOnlyCollection<IAuthorizationPolicy> tokenPolicies);
+ public SecurityToken SecurityToken { get; }
+ public ReadOnlyCollection<IAuthorizationPolicy> SecurityTokenPolicies { get; }
+ }
+ public abstract class SecurityVersion {
+ public static SecurityVersion WSSecurity10 { get; }
+ public static SecurityVersion WSSecurity11 { get; }
+ }
+ public class SspiSecurityTokenProvider : SecurityTokenProvider {
+ public SspiSecurityTokenProvider(NetworkCredential credential, bool extractGroupsForWindowsAccounts, bool allowUnauthenticatedCallers);
+ public SspiSecurityTokenProvider(NetworkCredential credential, bool allowNtlm, TokenImpersonationLevel impersonationLevel);
+ protected override Task<SecurityToken> GetTokenCoreAsync(CancellationToken cancellationToken);
+ }
+ public class SupportingTokenSpecification : SecurityTokenSpecification {
+ public SupportingTokenSpecification(SecurityToken token, ReadOnlyCollection<IAuthorizationPolicy> tokenPolicies, SecurityTokenAttachmentMode attachmentMode);
+ public SupportingTokenSpecification(SecurityToken token, ReadOnlyCollection<IAuthorizationPolicy> tokenPolicies, SecurityTokenAttachmentMode attachmentMode, SecurityTokenParameters tokenParameters);
+ public SecurityTokenAttachmentMode SecurityTokenAttachmentMode { get; }
+ }
+ public class TripleDesSecurityAlgorithmSuite : SecurityAlgorithmSuite {
+ public TripleDesSecurityAlgorithmSuite();
+ public override string DefaultAsymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultAsymmetricSignatureAlgorithm { get; }
+ public override string DefaultCanonicalizationAlgorithm { get; }
+ public override string DefaultDigestAlgorithm { get; }
+ public override string DefaultEncryptionAlgorithm { get; }
+ public override int DefaultEncryptionKeyDerivationLength { get; }
+ public override int DefaultSignatureKeyDerivationLength { get; }
+ public override int DefaultSymmetricKeyLength { get; }
+ public override string DefaultSymmetricKeyWrapAlgorithm { get; }
+ public override string DefaultSymmetricSignatureAlgorithm { get; }
+ public override bool IsAsymmetricKeyLengthSupported(int length);
+ public override bool IsSymmetricKeyLengthSupported(int length);
+ public override string ToString();
+ }
+ public abstract class TrustVersion {
+ public static TrustVersion Default { get; }
+ public XmlDictionaryString Namespace { get; }
+ public XmlDictionaryString Prefix { get; }
+ public static TrustVersion WSTrust13 { get; }
+ public static TrustVersion WSTrustFeb2005 { get; }
+ }
+ public sealed class UserNamePasswordClientCredential {
+ public string Password { get; set; }
+ public string UserName { get; set; }
+ }
+ public sealed class WindowsClientCredential {
+ public TokenImpersonationLevel AllowedImpersonationLevel { get; set; }
+ public bool AllowNtlm { get; set; }
+ public NetworkCredential ClientCredential { get; set; }
+ }
+ public class WSSecurityTokenSerializer : SecurityTokenSerializer {
+ public WSSecurityTokenSerializer();
+ public WSSecurityTokenSerializer(bool emitBspRequiredAttributes);
+ public WSSecurityTokenSerializer(SecurityVersion securityVersion);
+ public WSSecurityTokenSerializer(SecurityVersion securityVersion, bool emitBspRequiredAttributes);
+ public WSSecurityTokenSerializer(SecurityVersion securityVersion, bool emitBspRequiredAttributes, SamlSerializer samlSerializer);
+ public WSSecurityTokenSerializer(SecurityVersion securityVersion, bool emitBspRequiredAttributes, SamlSerializer samlSerializer, SecurityStateEncoder securityStateEncoder, IEnumerable<Type> knownTypes);
+ public WSSecurityTokenSerializer(SecurityVersion securityVersion, bool emitBspRequiredAttributes, SamlSerializer samlSerializer, SecurityStateEncoder securityStateEncoder, IEnumerable<Type> knownTypes, int maximumKeyDerivationOffset, int maximumKeyDerivationLabelLength, int maximumKeyDerivationNonceLength);
+ public WSSecurityTokenSerializer(SecurityVersion securityVersion, TrustVersion trustVersion, SecureConversationVersion secureConversationVersion, bool emitBspRequiredAttributes, SamlSerializer samlSerializer, SecurityStateEncoder securityStateEncoder, IEnumerable<Type> knownTypes);
+ public WSSecurityTokenSerializer(SecurityVersion securityVersion, TrustVersion trustVersion, SecureConversationVersion secureConversationVersion, bool emitBspRequiredAttributes, SamlSerializer samlSerializer, SecurityStateEncoder securityStateEncoder, IEnumerable<Type> knownTypes, int maximumKeyDerivationOffset, int maximumKeyDerivationLabelLength, int maximumKeyDerivationNonceLength);
+ public static WSSecurityTokenSerializer DefaultInstance { get; }
+ public bool EmitBspRequiredAttributes { get; }
+ public int MaximumKeyDerivationLabelLength { get; }
+ public int MaximumKeyDerivationNonceLength { get; }
+ public int MaximumKeyDerivationOffset { get; }
+ public SecurityVersion SecurityVersion { get; }
+ protected override bool CanReadKeyIdentifierClauseCore(XmlReader reader);
+ protected override bool CanReadKeyIdentifierCore(XmlReader reader);
+ protected override bool CanReadTokenCore(XmlReader reader);
+ protected override bool CanWriteKeyIdentifierClauseCore(SecurityKeyIdentifierClause keyIdentifierClause);
+ protected override bool CanWriteKeyIdentifierCore(SecurityKeyIdentifier keyIdentifier);
+ protected override bool CanWriteTokenCore(SecurityToken token);
+ public virtual SecurityKeyIdentifierClause CreateKeyIdentifierClauseFromTokenXml(XmlElement element, SecurityTokenReferenceStyle tokenReferenceStyle);
+ protected internal virtual string GetTokenTypeUri(Type tokenType);
+ protected override SecurityKeyIdentifierClause ReadKeyIdentifierClauseCore(XmlReader reader);
+ protected override SecurityKeyIdentifier ReadKeyIdentifierCore(XmlReader reader);
+ protected override SecurityToken ReadTokenCore(XmlReader reader, SecurityTokenResolver tokenResolver);
+ public virtual bool TryCreateKeyIdentifierClauseFromTokenXml(XmlElement element, SecurityTokenReferenceStyle tokenReferenceStyle, out SecurityKeyIdentifierClause securityKeyIdentifierClause);
+ protected override void WriteKeyIdentifierClauseCore(XmlWriter writer, SecurityKeyIdentifierClause keyIdentifierClause);
+ protected override void WriteKeyIdentifierCore(XmlWriter writer, SecurityKeyIdentifier keyIdentifier);
+ protected override void WriteTokenCore(XmlWriter writer, SecurityToken token);
+ }
+ public sealed class X509CertificateInitiatorClientCredential {
+ public X509Certificate2 Certificate { get; set; }
+ public void SetCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, object findValue);
+ public void SetCertificate(string subjectName, StoreLocation storeLocation, StoreName storeName);
+ }
+ public sealed class X509CertificateRecipientClientCredential {
+ public X509ServiceCertificateAuthentication Authentication { get; }
+ public X509Certificate2 DefaultCertificate { get; set; }
+ public Dictionary<Uri, X509Certificate2> ScopedCertificates { get; }
+ public X509ServiceCertificateAuthentication SslCertificateAuthentication { get; set; }
+ public void SetDefaultCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, object findValue);
+ public void SetDefaultCertificate(string subjectName, StoreLocation storeLocation, StoreName storeName);
+ public void SetScopedCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, object findValue, Uri targetService);
+ public void SetScopedCertificate(string subjectName, StoreLocation storeLocation, StoreName storeName, Uri targetService);
+ }
+ public enum X509CertificateValidationMode {
+ ChainTrust = 2,
+ Custom = 4,
+ None = 0,
+ PeerOrChainTrust = 3,
+ PeerTrust = 1,
+ }
+ public class X509ClientCertificateAuthentication {
+ public X509ClientCertificateAuthentication();
+ }
+ public sealed class X509ServiceCertificateAuthentication {
+ public X509ServiceCertificateAuthentication();
+ public X509CertificateValidationMode CertificateValidationMode { get; set; }
+ public X509CertificateValidator CustomCertificateValidator { get; set; }
+ public X509RevocationMode RevocationMode { get; set; }
+ public StoreLocation TrustedStoreLocation { get; set; }
+ }
+}
```

File diff suppressed because it is too large Load Diff

View File

@@ -1,67 +1,67 @@
# System.ServiceProcess
``` diff
+namespace System.ServiceProcess {
+ public class ServiceController : IDisposable {
+ public ServiceController(string name);
+ public ServiceController(string name, string machineName);
+ public bool CanPauseAndContinue { get; }
+ public bool CanShutdown { get; }
+ public bool CanStop { get; }
+ public ServiceController[] DependentServices { get; }
+ public string DisplayName { get; }
+ public string MachineName { get; }
+ public SafeHandle ServiceHandle { get; }
+ public string ServiceName { get; }
+ public ServiceController[] ServicesDependedOn { get; }
+ public ServiceType ServiceType { get; }
+ public ServiceStartMode StartType { get; }
+ public ServiceControllerStatus Status { get; }
+ public void Continue();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public static ServiceController[] GetDevices();
+ public static ServiceController[] GetDevices(string machineName);
+ public static ServiceController[] GetServices();
+ public static ServiceController[] GetServices(string machineName);
+ public void Pause();
+ public void Refresh();
+ public void Start();
+ public void Start(string[] args);
+ public void Stop();
+ public void WaitForStatus(ServiceControllerStatus desiredStatus);
+ public void WaitForStatus(ServiceControllerStatus desiredStatus, TimeSpan timeout);
+ }
+ public enum ServiceControllerStatus {
+ ContinuePending = 5,
+ Paused = 7,
+ PausePending = 6,
+ Running = 4,
+ StartPending = 2,
+ Stopped = 1,
+ StopPending = 3,
+ }
+ public enum ServiceStartMode {
+ Automatic = 2,
+ Boot = 0,
+ Disabled = 4,
+ Manual = 3,
+ System = 1,
+ }
+ public enum ServiceType {
+ Adapter = 4,
+ FileSystemDriver = 2,
+ InteractiveProcess = 256,
+ KernelDriver = 1,
+ RecognizerDriver = 8,
+ Win32OwnProcess = 16,
+ Win32ShareProcess = 32,
+ }
+ public class TimeoutException : Exception {
+ public TimeoutException();
+ public TimeoutException(string message);
+ public TimeoutException(string message, Exception innerException);
+ }
+}
```
# System.ServiceProcess
``` diff
+namespace System.ServiceProcess {
+ public class ServiceController : IDisposable {
+ public ServiceController(string name);
+ public ServiceController(string name, string machineName);
+ public bool CanPauseAndContinue { get; }
+ public bool CanShutdown { get; }
+ public bool CanStop { get; }
+ public ServiceController[] DependentServices { get; }
+ public string DisplayName { get; }
+ public string MachineName { get; }
+ public SafeHandle ServiceHandle { get; }
+ public string ServiceName { get; }
+ public ServiceController[] ServicesDependedOn { get; }
+ public ServiceType ServiceType { get; }
+ public ServiceStartMode StartType { get; }
+ public ServiceControllerStatus Status { get; }
+ public void Continue();
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public static ServiceController[] GetDevices();
+ public static ServiceController[] GetDevices(string machineName);
+ public static ServiceController[] GetServices();
+ public static ServiceController[] GetServices(string machineName);
+ public void Pause();
+ public void Refresh();
+ public void Start();
+ public void Start(string[] args);
+ public void Stop();
+ public void WaitForStatus(ServiceControllerStatus desiredStatus);
+ public void WaitForStatus(ServiceControllerStatus desiredStatus, TimeSpan timeout);
+ }
+ public enum ServiceControllerStatus {
+ ContinuePending = 5,
+ Paused = 7,
+ PausePending = 6,
+ Running = 4,
+ StartPending = 2,
+ Stopped = 1,
+ StopPending = 3,
+ }
+ public enum ServiceStartMode {
+ Automatic = 2,
+ Boot = 0,
+ Disabled = 4,
+ Manual = 3,
+ System = 1,
+ }
+ public enum ServiceType {
+ Adapter = 4,
+ FileSystemDriver = 2,
+ InteractiveProcess = 256,
+ KernelDriver = 1,
+ RecognizerDriver = 8,
+ Win32OwnProcess = 16,
+ Win32ShareProcess = 32,
+ }
+ public class TimeoutException : Exception {
+ public TimeoutException();
+ public TimeoutException(string message);
+ public TimeoutException(string message, Exception innerException);
+ }
+}
```

View File

@@ -1,52 +1,52 @@
# System.Text.Encodings.Web
``` diff
+namespace System.Text.Encodings.Web {
+ public abstract class HtmlEncoder : TextEncoder {
+ protected HtmlEncoder();
+ public static HtmlEncoder Default { get; }
+ public static HtmlEncoder Create(TextEncoderSettings settings);
+ public static HtmlEncoder Create(params UnicodeRange[] allowedRanges);
+ }
+ public abstract class JavaScriptEncoder : TextEncoder {
+ protected JavaScriptEncoder();
+ public static JavaScriptEncoder Default { get; }
+ public static JavaScriptEncoder Create(TextEncoderSettings settings);
+ public static JavaScriptEncoder Create(params UnicodeRange[] allowedRanges);
+ }
+ public abstract class TextEncoder {
+ protected TextEncoder();
+ public abstract int MaxOutputCharactersPerInputCharacter { get; }
+ public virtual void Encode(TextWriter output, char[] value, int startIndex, int characterCount);
+ public void Encode(TextWriter output, string value);
+ public virtual void Encode(TextWriter output, string value, int startIndex, int characterCount);
+ public virtual string Encode(string value);
+ public unsafe abstract int FindFirstCharacterToEncode(char* text, int textLength);
+ public unsafe abstract bool TryEncodeUnicodeScalar(int unicodeScalar, char* buffer, int bufferLength, out int numberOfCharactersWritten);
+ public abstract bool WillEncode(int unicodeScalar);
+ }
+ public class TextEncoderSettings {
+ public TextEncoderSettings();
+ public TextEncoderSettings(TextEncoderSettings other);
+ public TextEncoderSettings(params UnicodeRange[] allowedRanges);
+ public virtual void AllowCharacter(char character);
+ public virtual void AllowCharacters(params char[] characters);
+ public virtual void AllowCodePoints(IEnumerable<int> codePoints);
+ public virtual void AllowRange(UnicodeRange range);
+ public virtual void AllowRanges(params UnicodeRange[] ranges);
+ public virtual void Clear();
+ public virtual void ForbidCharacter(char character);
+ public virtual void ForbidCharacters(params char[] characters);
+ public virtual void ForbidRange(UnicodeRange range);
+ public virtual void ForbidRanges(params UnicodeRange[] ranges);
+ public virtual IEnumerable<int> GetAllowedCodePoints();
+ }
+ public abstract class UrlEncoder : TextEncoder {
+ protected UrlEncoder();
+ public static UrlEncoder Default { get; }
+ public static UrlEncoder Create(TextEncoderSettings settings);
+ public static UrlEncoder Create(params UnicodeRange[] allowedRanges);
+ }
+}
```
# System.Text.Encodings.Web
``` diff
+namespace System.Text.Encodings.Web {
+ public abstract class HtmlEncoder : TextEncoder {
+ protected HtmlEncoder();
+ public static HtmlEncoder Default { get; }
+ public static HtmlEncoder Create(TextEncoderSettings settings);
+ public static HtmlEncoder Create(params UnicodeRange[] allowedRanges);
+ }
+ public abstract class JavaScriptEncoder : TextEncoder {
+ protected JavaScriptEncoder();
+ public static JavaScriptEncoder Default { get; }
+ public static JavaScriptEncoder Create(TextEncoderSettings settings);
+ public static JavaScriptEncoder Create(params UnicodeRange[] allowedRanges);
+ }
+ public abstract class TextEncoder {
+ protected TextEncoder();
+ public abstract int MaxOutputCharactersPerInputCharacter { get; }
+ public virtual void Encode(TextWriter output, char[] value, int startIndex, int characterCount);
+ public void Encode(TextWriter output, string value);
+ public virtual void Encode(TextWriter output, string value, int startIndex, int characterCount);
+ public virtual string Encode(string value);
+ public unsafe abstract int FindFirstCharacterToEncode(char* text, int textLength);
+ public unsafe abstract bool TryEncodeUnicodeScalar(int unicodeScalar, char* buffer, int bufferLength, out int numberOfCharactersWritten);
+ public abstract bool WillEncode(int unicodeScalar);
+ }
+ public class TextEncoderSettings {
+ public TextEncoderSettings();
+ public TextEncoderSettings(TextEncoderSettings other);
+ public TextEncoderSettings(params UnicodeRange[] allowedRanges);
+ public virtual void AllowCharacter(char character);
+ public virtual void AllowCharacters(params char[] characters);
+ public virtual void AllowCodePoints(IEnumerable<int> codePoints);
+ public virtual void AllowRange(UnicodeRange range);
+ public virtual void AllowRanges(params UnicodeRange[] ranges);
+ public virtual void Clear();
+ public virtual void ForbidCharacter(char character);
+ public virtual void ForbidCharacters(params char[] characters);
+ public virtual void ForbidRange(UnicodeRange range);
+ public virtual void ForbidRanges(params UnicodeRange[] ranges);
+ public virtual IEnumerable<int> GetAllowedCodePoints();
+ }
+ public abstract class UrlEncoder : TextEncoder {
+ protected UrlEncoder();
+ public static UrlEncoder Default { get; }
+ public static UrlEncoder Create(TextEncoderSettings settings);
+ public static UrlEncoder Create(params UnicodeRange[] allowedRanges);
+ }
+}
```

View File

@@ -1,176 +1,176 @@
# System.Text.RegularExpressions
``` diff
+namespace System.Text.RegularExpressions {
+ public class Capture {
+ public int Index { get; }
+ public int Length { get; }
+ public string Value { get; }
+ public override string ToString();
+ }
+ public class CaptureCollection : ICollection, IEnumerable {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public Capture this[int i] { get; }
+ public IEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int arrayIndex);
+ }
+ public class Group : Capture {
+ public CaptureCollection Captures { get; }
+ public bool Success { get; }
+ }
+ public class GroupCollection : ICollection, IEnumerable {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public Group this[int groupnum] { get; }
+ public Group this[string groupname] { get; }
+ public IEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int arrayIndex);
+ }
+ public class Match : Group {
+ public static Match Empty { get; }
+ public virtual GroupCollection Groups { get; }
+ public Match NextMatch();
+ public virtual string Result(string replacement);
+ }
+ public class MatchCollection : ICollection, IEnumerable {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public virtual Match this[int i] { get; }
+ public IEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int arrayIndex);
+ }
+ public delegate string MatchEvaluator(Match match);
+ public class Regex {
+ protected internal int capsize;
+ protected internal string pattern;
+ protected internal string[] capslist;
+ protected internal RegexOptions roptions;
+ protected internal RegexRunnerFactory factory;
+ public static readonly TimeSpan InfiniteMatchTimeout;
+ protected internal TimeSpan internalMatchTimeout;
+ protected Regex();
+ public Regex(string pattern);
+ public Regex(string pattern, RegexOptions options);
+ public Regex(string pattern, RegexOptions options, TimeSpan matchTimeout);
+ public static int CacheSize { get; set; }
+ protected IDictionary CapNames { get; set; }
+ protected IDictionary Caps { get; set; }
+ public TimeSpan MatchTimeout { get; }
+ public RegexOptions Options { get; }
+ public bool RightToLeft { get; }
+ public static string Escape(string str);
+ public string[] GetGroupNames();
+ public int[] GetGroupNumbers();
+ public string GroupNameFromNumber(int i);
+ public int GroupNumberFromName(string name);
+ protected void InitializeReferences();
+ public bool IsMatch(string input);
+ public bool IsMatch(string input, int startat);
+ public static bool IsMatch(string input, string pattern);
+ public static bool IsMatch(string input, string pattern, RegexOptions options);
+ public static bool IsMatch(string input, string pattern, RegexOptions options, TimeSpan matchTimeout);
+ public Match Match(string input);
+ public Match Match(string input, int startat);
+ public Match Match(string input, int beginning, int length);
+ public static Match Match(string input, string pattern);
+ public static Match Match(string input, string pattern, RegexOptions options);
+ public static Match Match(string input, string pattern, RegexOptions options, TimeSpan matchTimeout);
+ public MatchCollection Matches(string input);
+ public MatchCollection Matches(string input, int startat);
+ public static MatchCollection Matches(string input, string pattern);
+ public static MatchCollection Matches(string input, string pattern, RegexOptions options);
+ public static MatchCollection Matches(string input, string pattern, RegexOptions options, TimeSpan matchTimeout);
+ public string Replace(string input, string replacement);
+ public string Replace(string input, string replacement, int count);
+ public string Replace(string input, string replacement, int count, int startat);
+ public static string Replace(string input, string pattern, string replacement);
+ public static string Replace(string input, string pattern, string replacement, RegexOptions options);
+ public static string Replace(string input, string pattern, string replacement, RegexOptions options, TimeSpan matchTimeout);
+ public static string Replace(string input, string pattern, MatchEvaluator evaluator);
+ public static string Replace(string input, string pattern, MatchEvaluator evaluator, RegexOptions options);
+ public static string Replace(string input, string pattern, MatchEvaluator evaluator, RegexOptions options, TimeSpan matchTimeout);
+ public string Replace(string input, MatchEvaluator evaluator);
+ public string Replace(string input, MatchEvaluator evaluator, int count);
+ public string Replace(string input, MatchEvaluator evaluator, int count, int startat);
+ public string[] Split(string input);
+ public string[] Split(string input, int count);
+ public string[] Split(string input, int count, int startat);
+ public static string[] Split(string input, string pattern);
+ public static string[] Split(string input, string pattern, RegexOptions options);
+ public static string[] Split(string input, string pattern, RegexOptions options, TimeSpan matchTimeout);
+ public override string ToString();
+ public static string Unescape(string str);
+ protected internal static void ValidateMatchTimeout(TimeSpan matchTimeout);
+ }
+ public class RegexMatchTimeoutException : TimeoutException {
+ public RegexMatchTimeoutException();
+ public RegexMatchTimeoutException(string message);
+ public RegexMatchTimeoutException(string message, Exception inner);
+ public RegexMatchTimeoutException(string regexInput, string regexPattern, TimeSpan matchTimeout);
+ public string Input { get; }
+ public TimeSpan MatchTimeout { get; }
+ public string Pattern { get; }
+ }
+ public enum RegexOptions {
+ Compiled = 8,
+ CultureInvariant = 512,
+ ECMAScript = 256,
+ ExplicitCapture = 4,
+ IgnoreCase = 1,
+ IgnorePatternWhitespace = 32,
+ Multiline = 2,
+ None = 0,
+ RightToLeft = 64,
+ Singleline = 16,
+ }
+ public abstract class RegexRunner {
+ protected internal int runcrawlpos;
+ protected internal int runstackpos;
+ protected internal int runtextbeg;
+ protected internal int runtextend;
+ protected internal int runtextpos;
+ protected internal int runtextstart;
+ protected internal int runtrackcount;
+ protected internal int runtrackpos;
+ protected internal int[] runcrawl;
+ protected internal int[] runstack;
+ protected internal int[] runtrack;
+ protected internal string runtext;
+ protected internal Match runmatch;
+ protected internal Regex runregex;
+ protected internal RegexRunner();
+ protected void Capture(int capnum, int start, int end);
+ protected static bool CharInClass(char ch, string charClass);
+ protected static bool CharInSet(char ch, string @set, string category);
+ protected void CheckTimeout();
+ protected void Crawl(int i);
+ protected int Crawlpos();
+ protected void DoubleCrawl();
+ protected void DoubleStack();
+ protected void DoubleTrack();
+ protected void EnsureStorage();
+ protected abstract bool FindFirstChar();
+ protected abstract void Go();
+ protected abstract void InitTrackCount();
+ protected bool IsBoundary(int index, int startpos, int endpos);
+ protected bool IsECMABoundary(int index, int startpos, int endpos);
+ protected bool IsMatched(int cap);
+ protected int MatchIndex(int cap);
+ protected int MatchLength(int cap);
+ protected int Popcrawl();
+ protected internal Match Scan(Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick);
+ protected internal Match Scan(Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick, TimeSpan timeout);
+ protected void TransferCapture(int capnum, int uncapnum, int start, int end);
+ protected void Uncapture();
+ }
+ public abstract class RegexRunnerFactory {
+ protected RegexRunnerFactory();
+ protected internal abstract RegexRunner CreateInstance();
+ }
+}
```
# System.Text.RegularExpressions
``` diff
+namespace System.Text.RegularExpressions {
+ public class Capture {
+ public int Index { get; }
+ public int Length { get; }
+ public string Value { get; }
+ public override string ToString();
+ }
+ public class CaptureCollection : ICollection, IEnumerable {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public Capture this[int i] { get; }
+ public IEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int arrayIndex);
+ }
+ public class Group : Capture {
+ public CaptureCollection Captures { get; }
+ public bool Success { get; }
+ }
+ public class GroupCollection : ICollection, IEnumerable {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public Group this[int groupnum] { get; }
+ public Group this[string groupname] { get; }
+ public IEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int arrayIndex);
+ }
+ public class Match : Group {
+ public static Match Empty { get; }
+ public virtual GroupCollection Groups { get; }
+ public Match NextMatch();
+ public virtual string Result(string replacement);
+ }
+ public class MatchCollection : ICollection, IEnumerable {
+ public int Count { get; }
+ bool System.Collections.ICollection.IsSynchronized { get; }
+ object System.Collections.ICollection.SyncRoot { get; }
+ public virtual Match this[int i] { get; }
+ public IEnumerator GetEnumerator();
+ void System.Collections.ICollection.CopyTo(Array array, int arrayIndex);
+ }
+ public delegate string MatchEvaluator(Match match);
+ public class Regex {
+ protected internal int capsize;
+ protected internal string pattern;
+ protected internal string[] capslist;
+ protected internal RegexOptions roptions;
+ protected internal RegexRunnerFactory factory;
+ public static readonly TimeSpan InfiniteMatchTimeout;
+ protected internal TimeSpan internalMatchTimeout;
+ protected Regex();
+ public Regex(string pattern);
+ public Regex(string pattern, RegexOptions options);
+ public Regex(string pattern, RegexOptions options, TimeSpan matchTimeout);
+ public static int CacheSize { get; set; }
+ protected IDictionary CapNames { get; set; }
+ protected IDictionary Caps { get; set; }
+ public TimeSpan MatchTimeout { get; }
+ public RegexOptions Options { get; }
+ public bool RightToLeft { get; }
+ public static string Escape(string str);
+ public string[] GetGroupNames();
+ public int[] GetGroupNumbers();
+ public string GroupNameFromNumber(int i);
+ public int GroupNumberFromName(string name);
+ protected void InitializeReferences();
+ public bool IsMatch(string input);
+ public bool IsMatch(string input, int startat);
+ public static bool IsMatch(string input, string pattern);
+ public static bool IsMatch(string input, string pattern, RegexOptions options);
+ public static bool IsMatch(string input, string pattern, RegexOptions options, TimeSpan matchTimeout);
+ public Match Match(string input);
+ public Match Match(string input, int startat);
+ public Match Match(string input, int beginning, int length);
+ public static Match Match(string input, string pattern);
+ public static Match Match(string input, string pattern, RegexOptions options);
+ public static Match Match(string input, string pattern, RegexOptions options, TimeSpan matchTimeout);
+ public MatchCollection Matches(string input);
+ public MatchCollection Matches(string input, int startat);
+ public static MatchCollection Matches(string input, string pattern);
+ public static MatchCollection Matches(string input, string pattern, RegexOptions options);
+ public static MatchCollection Matches(string input, string pattern, RegexOptions options, TimeSpan matchTimeout);
+ public string Replace(string input, string replacement);
+ public string Replace(string input, string replacement, int count);
+ public string Replace(string input, string replacement, int count, int startat);
+ public static string Replace(string input, string pattern, string replacement);
+ public static string Replace(string input, string pattern, string replacement, RegexOptions options);
+ public static string Replace(string input, string pattern, string replacement, RegexOptions options, TimeSpan matchTimeout);
+ public static string Replace(string input, string pattern, MatchEvaluator evaluator);
+ public static string Replace(string input, string pattern, MatchEvaluator evaluator, RegexOptions options);
+ public static string Replace(string input, string pattern, MatchEvaluator evaluator, RegexOptions options, TimeSpan matchTimeout);
+ public string Replace(string input, MatchEvaluator evaluator);
+ public string Replace(string input, MatchEvaluator evaluator, int count);
+ public string Replace(string input, MatchEvaluator evaluator, int count, int startat);
+ public string[] Split(string input);
+ public string[] Split(string input, int count);
+ public string[] Split(string input, int count, int startat);
+ public static string[] Split(string input, string pattern);
+ public static string[] Split(string input, string pattern, RegexOptions options);
+ public static string[] Split(string input, string pattern, RegexOptions options, TimeSpan matchTimeout);
+ public override string ToString();
+ public static string Unescape(string str);
+ protected internal static void ValidateMatchTimeout(TimeSpan matchTimeout);
+ }
+ public class RegexMatchTimeoutException : TimeoutException {
+ public RegexMatchTimeoutException();
+ public RegexMatchTimeoutException(string message);
+ public RegexMatchTimeoutException(string message, Exception inner);
+ public RegexMatchTimeoutException(string regexInput, string regexPattern, TimeSpan matchTimeout);
+ public string Input { get; }
+ public TimeSpan MatchTimeout { get; }
+ public string Pattern { get; }
+ }
+ public enum RegexOptions {
+ Compiled = 8,
+ CultureInvariant = 512,
+ ECMAScript = 256,
+ ExplicitCapture = 4,
+ IgnoreCase = 1,
+ IgnorePatternWhitespace = 32,
+ Multiline = 2,
+ None = 0,
+ RightToLeft = 64,
+ Singleline = 16,
+ }
+ public abstract class RegexRunner {
+ protected internal int runcrawlpos;
+ protected internal int runstackpos;
+ protected internal int runtextbeg;
+ protected internal int runtextend;
+ protected internal int runtextpos;
+ protected internal int runtextstart;
+ protected internal int runtrackcount;
+ protected internal int runtrackpos;
+ protected internal int[] runcrawl;
+ protected internal int[] runstack;
+ protected internal int[] runtrack;
+ protected internal string runtext;
+ protected internal Match runmatch;
+ protected internal Regex runregex;
+ protected internal RegexRunner();
+ protected void Capture(int capnum, int start, int end);
+ protected static bool CharInClass(char ch, string charClass);
+ protected static bool CharInSet(char ch, string @set, string category);
+ protected void CheckTimeout();
+ protected void Crawl(int i);
+ protected int Crawlpos();
+ protected void DoubleCrawl();
+ protected void DoubleStack();
+ protected void DoubleTrack();
+ protected void EnsureStorage();
+ protected abstract bool FindFirstChar();
+ protected abstract void Go();
+ protected abstract void InitTrackCount();
+ protected bool IsBoundary(int index, int startpos, int endpos);
+ protected bool IsECMABoundary(int index, int startpos, int endpos);
+ protected bool IsMatched(int cap);
+ protected int MatchIndex(int cap);
+ protected int MatchLength(int cap);
+ protected int Popcrawl();
+ protected internal Match Scan(Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick);
+ protected internal Match Scan(Regex regex, string text, int textbeg, int textend, int textstart, int prevlen, bool quick, TimeSpan timeout);
+ protected void TransferCapture(int capnum, int uncapnum, int start, int end);
+ protected void Uncapture();
+ }
+ public abstract class RegexRunnerFactory {
+ protected RegexRunnerFactory();
+ protected internal abstract RegexRunner CreateInstance();
+ }
+}
```

View File

@@ -1,173 +1,173 @@
# System.Text.Unicode
``` diff
+namespace System.Text.Unicode {
+ public sealed class UnicodeRange {
+ public UnicodeRange(int firstCodePoint, int length);
+ public int FirstCodePoint { get; private set; }
+ public int Length { get; private set; }
+ public static UnicodeRange Create(char firstCharacter, char lastCharacter);
+ }
+ public static class UnicodeRanges {
+ public static UnicodeRange All { get; }
+ public static UnicodeRange AlphabeticPresentationForms { get; }
+ public static UnicodeRange Arabic { get; }
+ public static UnicodeRange ArabicExtendedA { get; }
+ public static UnicodeRange ArabicPresentationFormsA { get; }
+ public static UnicodeRange ArabicPresentationFormsB { get; }
+ public static UnicodeRange ArabicSupplement { get; }
+ public static UnicodeRange Armenian { get; }
+ public static UnicodeRange Arrows { get; }
+ public static UnicodeRange Balinese { get; }
+ public static UnicodeRange Bamum { get; }
+ public static UnicodeRange BasicLatin { get; }
+ public static UnicodeRange Batak { get; }
+ public static UnicodeRange Bengali { get; }
+ public static UnicodeRange BlockElements { get; }
+ public static UnicodeRange Bopomofo { get; }
+ public static UnicodeRange BopomofoExtended { get; }
+ public static UnicodeRange BoxDrawing { get; }
+ public static UnicodeRange BraillePatterns { get; }
+ public static UnicodeRange Buginese { get; }
+ public static UnicodeRange Buhid { get; }
+ public static UnicodeRange Cham { get; }
+ public static UnicodeRange Cherokee { get; }
+ public static UnicodeRange CherokeeSupplement { get; }
+ public static UnicodeRange CjkCompatibility { get; }
+ public static UnicodeRange CjkCompatibilityForms { get; }
+ public static UnicodeRange CjkCompatibilityIdeographs { get; }
+ public static UnicodeRange CjkRadicalsSupplement { get; }
+ public static UnicodeRange CjkStrokes { get; }
+ public static UnicodeRange CjkSymbolsandPunctuation { get; }
+ public static UnicodeRange CjkUnifiedIdeographs { get; }
+ public static UnicodeRange CjkUnifiedIdeographsExtensionA { get; }
+ public static UnicodeRange CombiningDiacriticalMarks { get; }
+ public static UnicodeRange CombiningDiacriticalMarksExtended { get; }
+ public static UnicodeRange CombiningDiacriticalMarksforSymbols { get; }
+ public static UnicodeRange CombiningDiacriticalMarksSupplement { get; }
+ public static UnicodeRange CombiningHalfMarks { get; }
+ public static UnicodeRange CommonIndicNumberForms { get; }
+ public static UnicodeRange ControlPictures { get; }
+ public static UnicodeRange Coptic { get; }
+ public static UnicodeRange CurrencySymbols { get; }
+ public static UnicodeRange Cyrillic { get; }
+ public static UnicodeRange CyrillicExtendedA { get; }
+ public static UnicodeRange CyrillicExtendedB { get; }
+ public static UnicodeRange CyrillicSupplement { get; }
+ public static UnicodeRange Devanagari { get; }
+ public static UnicodeRange DevanagariExtended { get; }
+ public static UnicodeRange Dingbats { get; }
+ public static UnicodeRange EnclosedAlphanumerics { get; }
+ public static UnicodeRange EnclosedCjkLettersandMonths { get; }
+ public static UnicodeRange Ethiopic { get; }
+ public static UnicodeRange EthiopicExtended { get; }
+ public static UnicodeRange EthiopicExtendedA { get; }
+ public static UnicodeRange EthiopicSupplement { get; }
+ public static UnicodeRange GeneralPunctuation { get; }
+ public static UnicodeRange GeometricShapes { get; }
+ public static UnicodeRange Georgian { get; }
+ public static UnicodeRange GeorgianSupplement { get; }
+ public static UnicodeRange Glagolitic { get; }
+ public static UnicodeRange GreekandCoptic { get; }
+ public static UnicodeRange GreekExtended { get; }
+ public static UnicodeRange Gujarati { get; }
+ public static UnicodeRange Gurmukhi { get; }
+ public static UnicodeRange HalfwidthandFullwidthForms { get; }
+ public static UnicodeRange HangulCompatibilityJamo { get; }
+ public static UnicodeRange HangulJamo { get; }
+ public static UnicodeRange HangulJamoExtendedA { get; }
+ public static UnicodeRange HangulJamoExtendedB { get; }
+ public static UnicodeRange HangulSyllables { get; }
+ public static UnicodeRange Hanunoo { get; }
+ public static UnicodeRange Hebrew { get; }
+ public static UnicodeRange Hiragana { get; }
+ public static UnicodeRange IdeographicDescriptionCharacters { get; }
+ public static UnicodeRange IpaExtensions { get; }
+ public static UnicodeRange Javanese { get; }
+ public static UnicodeRange Kanbun { get; }
+ public static UnicodeRange KangxiRadicals { get; }
+ public static UnicodeRange Kannada { get; }
+ public static UnicodeRange Katakana { get; }
+ public static UnicodeRange KatakanaPhoneticExtensions { get; }
+ public static UnicodeRange KayahLi { get; }
+ public static UnicodeRange Khmer { get; }
+ public static UnicodeRange KhmerSymbols { get; }
+ public static UnicodeRange Lao { get; }
+ public static UnicodeRange Latin1Supplement { get; }
+ public static UnicodeRange LatinExtendedA { get; }
+ public static UnicodeRange LatinExtendedAdditional { get; }
+ public static UnicodeRange LatinExtendedB { get; }
+ public static UnicodeRange LatinExtendedC { get; }
+ public static UnicodeRange LatinExtendedD { get; }
+ public static UnicodeRange LatinExtendedE { get; }
+ public static UnicodeRange Lepcha { get; }
+ public static UnicodeRange LetterlikeSymbols { get; }
+ public static UnicodeRange Limbu { get; }
+ public static UnicodeRange Lisu { get; }
+ public static UnicodeRange Malayalam { get; }
+ public static UnicodeRange Mandaic { get; }
+ public static UnicodeRange MathematicalOperators { get; }
+ public static UnicodeRange MeeteiMayek { get; }
+ public static UnicodeRange MeeteiMayekExtensions { get; }
+ public static UnicodeRange MiscellaneousMathematicalSymbolsA { get; }
+ public static UnicodeRange MiscellaneousMathematicalSymbolsB { get; }
+ public static UnicodeRange MiscellaneousSymbols { get; }
+ public static UnicodeRange MiscellaneousSymbolsandArrows { get; }
+ public static UnicodeRange MiscellaneousTechnical { get; }
+ public static UnicodeRange ModifierToneLetters { get; }
+ public static UnicodeRange Mongolian { get; }
+ public static UnicodeRange Myanmar { get; }
+ public static UnicodeRange MyanmarExtendedA { get; }
+ public static UnicodeRange MyanmarExtendedB { get; }
+ public static UnicodeRange NewTaiLue { get; }
+ public static UnicodeRange NKo { get; }
+ public static UnicodeRange None { get; }
+ public static UnicodeRange NumberForms { get; }
+ public static UnicodeRange Ogham { get; }
+ public static UnicodeRange OlChiki { get; }
+ public static UnicodeRange OpticalCharacterRecognition { get; }
+ public static UnicodeRange Oriya { get; }
+ public static UnicodeRange Phagspa { get; }
+ public static UnicodeRange PhoneticExtensions { get; }
+ public static UnicodeRange PhoneticExtensionsSupplement { get; }
+ public static UnicodeRange Rejang { get; }
+ public static UnicodeRange Runic { get; }
+ public static UnicodeRange Samaritan { get; }
+ public static UnicodeRange Saurashtra { get; }
+ public static UnicodeRange Sinhala { get; }
+ public static UnicodeRange SmallFormVariants { get; }
+ public static UnicodeRange SpacingModifierLetters { get; }
+ public static UnicodeRange Specials { get; }
+ public static UnicodeRange Sundanese { get; }
+ public static UnicodeRange SundaneseSupplement { get; }
+ public static UnicodeRange SuperscriptsandSubscripts { get; }
+ public static UnicodeRange SupplementalArrowsA { get; }
+ public static UnicodeRange SupplementalArrowsB { get; }
+ public static UnicodeRange SupplementalMathematicalOperators { get; }
+ public static UnicodeRange SupplementalPunctuation { get; }
+ public static UnicodeRange SylotiNagri { get; }
+ public static UnicodeRange Syriac { get; }
+ public static UnicodeRange Tagalog { get; }
+ public static UnicodeRange Tagbanwa { get; }
+ public static UnicodeRange TaiLe { get; }
+ public static UnicodeRange TaiTham { get; }
+ public static UnicodeRange TaiViet { get; }
+ public static UnicodeRange Tamil { get; }
+ public static UnicodeRange Telugu { get; }
+ public static UnicodeRange Thaana { get; }
+ public static UnicodeRange Thai { get; }
+ public static UnicodeRange Tibetan { get; }
+ public static UnicodeRange Tifinagh { get; }
+ public static UnicodeRange UnifiedCanadianAboriginalSyllabics { get; }
+ public static UnicodeRange UnifiedCanadianAboriginalSyllabicsExtended { get; }
+ public static UnicodeRange Vai { get; }
+ public static UnicodeRange VariationSelectors { get; }
+ public static UnicodeRange VedicExtensions { get; }
+ public static UnicodeRange VerticalForms { get; }
+ public static UnicodeRange YijingHexagramSymbols { get; }
+ public static UnicodeRange YiRadicals { get; }
+ public static UnicodeRange YiSyllables { get; }
+ }
+}
```
# System.Text.Unicode
``` diff
+namespace System.Text.Unicode {
+ public sealed class UnicodeRange {
+ public UnicodeRange(int firstCodePoint, int length);
+ public int FirstCodePoint { get; private set; }
+ public int Length { get; private set; }
+ public static UnicodeRange Create(char firstCharacter, char lastCharacter);
+ }
+ public static class UnicodeRanges {
+ public static UnicodeRange All { get; }
+ public static UnicodeRange AlphabeticPresentationForms { get; }
+ public static UnicodeRange Arabic { get; }
+ public static UnicodeRange ArabicExtendedA { get; }
+ public static UnicodeRange ArabicPresentationFormsA { get; }
+ public static UnicodeRange ArabicPresentationFormsB { get; }
+ public static UnicodeRange ArabicSupplement { get; }
+ public static UnicodeRange Armenian { get; }
+ public static UnicodeRange Arrows { get; }
+ public static UnicodeRange Balinese { get; }
+ public static UnicodeRange Bamum { get; }
+ public static UnicodeRange BasicLatin { get; }
+ public static UnicodeRange Batak { get; }
+ public static UnicodeRange Bengali { get; }
+ public static UnicodeRange BlockElements { get; }
+ public static UnicodeRange Bopomofo { get; }
+ public static UnicodeRange BopomofoExtended { get; }
+ public static UnicodeRange BoxDrawing { get; }
+ public static UnicodeRange BraillePatterns { get; }
+ public static UnicodeRange Buginese { get; }
+ public static UnicodeRange Buhid { get; }
+ public static UnicodeRange Cham { get; }
+ public static UnicodeRange Cherokee { get; }
+ public static UnicodeRange CherokeeSupplement { get; }
+ public static UnicodeRange CjkCompatibility { get; }
+ public static UnicodeRange CjkCompatibilityForms { get; }
+ public static UnicodeRange CjkCompatibilityIdeographs { get; }
+ public static UnicodeRange CjkRadicalsSupplement { get; }
+ public static UnicodeRange CjkStrokes { get; }
+ public static UnicodeRange CjkSymbolsandPunctuation { get; }
+ public static UnicodeRange CjkUnifiedIdeographs { get; }
+ public static UnicodeRange CjkUnifiedIdeographsExtensionA { get; }
+ public static UnicodeRange CombiningDiacriticalMarks { get; }
+ public static UnicodeRange CombiningDiacriticalMarksExtended { get; }
+ public static UnicodeRange CombiningDiacriticalMarksforSymbols { get; }
+ public static UnicodeRange CombiningDiacriticalMarksSupplement { get; }
+ public static UnicodeRange CombiningHalfMarks { get; }
+ public static UnicodeRange CommonIndicNumberForms { get; }
+ public static UnicodeRange ControlPictures { get; }
+ public static UnicodeRange Coptic { get; }
+ public static UnicodeRange CurrencySymbols { get; }
+ public static UnicodeRange Cyrillic { get; }
+ public static UnicodeRange CyrillicExtendedA { get; }
+ public static UnicodeRange CyrillicExtendedB { get; }
+ public static UnicodeRange CyrillicSupplement { get; }
+ public static UnicodeRange Devanagari { get; }
+ public static UnicodeRange DevanagariExtended { get; }
+ public static UnicodeRange Dingbats { get; }
+ public static UnicodeRange EnclosedAlphanumerics { get; }
+ public static UnicodeRange EnclosedCjkLettersandMonths { get; }
+ public static UnicodeRange Ethiopic { get; }
+ public static UnicodeRange EthiopicExtended { get; }
+ public static UnicodeRange EthiopicExtendedA { get; }
+ public static UnicodeRange EthiopicSupplement { get; }
+ public static UnicodeRange GeneralPunctuation { get; }
+ public static UnicodeRange GeometricShapes { get; }
+ public static UnicodeRange Georgian { get; }
+ public static UnicodeRange GeorgianSupplement { get; }
+ public static UnicodeRange Glagolitic { get; }
+ public static UnicodeRange GreekandCoptic { get; }
+ public static UnicodeRange GreekExtended { get; }
+ public static UnicodeRange Gujarati { get; }
+ public static UnicodeRange Gurmukhi { get; }
+ public static UnicodeRange HalfwidthandFullwidthForms { get; }
+ public static UnicodeRange HangulCompatibilityJamo { get; }
+ public static UnicodeRange HangulJamo { get; }
+ public static UnicodeRange HangulJamoExtendedA { get; }
+ public static UnicodeRange HangulJamoExtendedB { get; }
+ public static UnicodeRange HangulSyllables { get; }
+ public static UnicodeRange Hanunoo { get; }
+ public static UnicodeRange Hebrew { get; }
+ public static UnicodeRange Hiragana { get; }
+ public static UnicodeRange IdeographicDescriptionCharacters { get; }
+ public static UnicodeRange IpaExtensions { get; }
+ public static UnicodeRange Javanese { get; }
+ public static UnicodeRange Kanbun { get; }
+ public static UnicodeRange KangxiRadicals { get; }
+ public static UnicodeRange Kannada { get; }
+ public static UnicodeRange Katakana { get; }
+ public static UnicodeRange KatakanaPhoneticExtensions { get; }
+ public static UnicodeRange KayahLi { get; }
+ public static UnicodeRange Khmer { get; }
+ public static UnicodeRange KhmerSymbols { get; }
+ public static UnicodeRange Lao { get; }
+ public static UnicodeRange Latin1Supplement { get; }
+ public static UnicodeRange LatinExtendedA { get; }
+ public static UnicodeRange LatinExtendedAdditional { get; }
+ public static UnicodeRange LatinExtendedB { get; }
+ public static UnicodeRange LatinExtendedC { get; }
+ public static UnicodeRange LatinExtendedD { get; }
+ public static UnicodeRange LatinExtendedE { get; }
+ public static UnicodeRange Lepcha { get; }
+ public static UnicodeRange LetterlikeSymbols { get; }
+ public static UnicodeRange Limbu { get; }
+ public static UnicodeRange Lisu { get; }
+ public static UnicodeRange Malayalam { get; }
+ public static UnicodeRange Mandaic { get; }
+ public static UnicodeRange MathematicalOperators { get; }
+ public static UnicodeRange MeeteiMayek { get; }
+ public static UnicodeRange MeeteiMayekExtensions { get; }
+ public static UnicodeRange MiscellaneousMathematicalSymbolsA { get; }
+ public static UnicodeRange MiscellaneousMathematicalSymbolsB { get; }
+ public static UnicodeRange MiscellaneousSymbols { get; }
+ public static UnicodeRange MiscellaneousSymbolsandArrows { get; }
+ public static UnicodeRange MiscellaneousTechnical { get; }
+ public static UnicodeRange ModifierToneLetters { get; }
+ public static UnicodeRange Mongolian { get; }
+ public static UnicodeRange Myanmar { get; }
+ public static UnicodeRange MyanmarExtendedA { get; }
+ public static UnicodeRange MyanmarExtendedB { get; }
+ public static UnicodeRange NewTaiLue { get; }
+ public static UnicodeRange NKo { get; }
+ public static UnicodeRange None { get; }
+ public static UnicodeRange NumberForms { get; }
+ public static UnicodeRange Ogham { get; }
+ public static UnicodeRange OlChiki { get; }
+ public static UnicodeRange OpticalCharacterRecognition { get; }
+ public static UnicodeRange Oriya { get; }
+ public static UnicodeRange Phagspa { get; }
+ public static UnicodeRange PhoneticExtensions { get; }
+ public static UnicodeRange PhoneticExtensionsSupplement { get; }
+ public static UnicodeRange Rejang { get; }
+ public static UnicodeRange Runic { get; }
+ public static UnicodeRange Samaritan { get; }
+ public static UnicodeRange Saurashtra { get; }
+ public static UnicodeRange Sinhala { get; }
+ public static UnicodeRange SmallFormVariants { get; }
+ public static UnicodeRange SpacingModifierLetters { get; }
+ public static UnicodeRange Specials { get; }
+ public static UnicodeRange Sundanese { get; }
+ public static UnicodeRange SundaneseSupplement { get; }
+ public static UnicodeRange SuperscriptsandSubscripts { get; }
+ public static UnicodeRange SupplementalArrowsA { get; }
+ public static UnicodeRange SupplementalArrowsB { get; }
+ public static UnicodeRange SupplementalMathematicalOperators { get; }
+ public static UnicodeRange SupplementalPunctuation { get; }
+ public static UnicodeRange SylotiNagri { get; }
+ public static UnicodeRange Syriac { get; }
+ public static UnicodeRange Tagalog { get; }
+ public static UnicodeRange Tagbanwa { get; }
+ public static UnicodeRange TaiLe { get; }
+ public static UnicodeRange TaiTham { get; }
+ public static UnicodeRange TaiViet { get; }
+ public static UnicodeRange Tamil { get; }
+ public static UnicodeRange Telugu { get; }
+ public static UnicodeRange Thaana { get; }
+ public static UnicodeRange Thai { get; }
+ public static UnicodeRange Tibetan { get; }
+ public static UnicodeRange Tifinagh { get; }
+ public static UnicodeRange UnifiedCanadianAboriginalSyllabics { get; }
+ public static UnicodeRange UnifiedCanadianAboriginalSyllabicsExtended { get; }
+ public static UnicodeRange Vai { get; }
+ public static UnicodeRange VariationSelectors { get; }
+ public static UnicodeRange VedicExtensions { get; }
+ public static UnicodeRange VerticalForms { get; }
+ public static UnicodeRange YijingHexagramSymbols { get; }
+ public static UnicodeRange YiRadicals { get; }
+ public static UnicodeRange YiSyllables { get; }
+ }
+}
```

View File

@@ -1,363 +1,363 @@
# System.Text
``` diff
+namespace System.Text {
+ public class ASCIIEncoding : Encoding {
+ public ASCIIEncoding();
+ public override bool IsSingleByte { get; }
+ public unsafe override int GetByteCount(char* chars, int count);
+ public override int GetByteCount(char[] chars, int index, int count);
+ public override int GetByteCount(string chars);
+ public unsafe override int GetBytes(char* chars, int charCount, byte* bytes, int byteCount);
+ public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public override int GetBytes(string chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public unsafe override int GetCharCount(byte* bytes, int count);
+ public override int GetCharCount(byte[] bytes, int index, int count);
+ public unsafe override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
+ public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public override Decoder GetDecoder();
+ public override Encoder GetEncoder();
+ public override int GetMaxByteCount(int charCount);
+ public override int GetMaxCharCount(int byteCount);
+ public override string GetString(byte[] bytes, int byteIndex, int byteCount);
+ }
+ public sealed class CodePagesEncodingProvider {
+ public static EncodingProvider Instance { get; }
+ }
+ public abstract class Decoder {
+ protected Decoder();
+ public DecoderFallback Fallback { get; set; }
+ public DecoderFallbackBuffer FallbackBuffer { get; }
+ public unsafe virtual void Convert(byte* bytes, int byteCount, char* chars, int charCount, bool flush, out int bytesUsed, out int charsUsed, out bool completed);
+ public virtual void Convert(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex, int charCount, bool flush, out int bytesUsed, out int charsUsed, out bool completed);
+ public unsafe virtual int GetCharCount(byte* bytes, int count, bool flush);
+ public abstract int GetCharCount(byte[] bytes, int index, int count);
+ public virtual int GetCharCount(byte[] bytes, int index, int count, bool flush);
+ public unsafe virtual int GetChars(byte* bytes, int byteCount, char* chars, int charCount, bool flush);
+ public abstract int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public virtual int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex, bool flush);
+ public virtual void Reset();
+ }
+ public sealed class DecoderExceptionFallback : DecoderFallback {
+ public DecoderExceptionFallback();
+ public override int MaxCharCount { get; }
+ public override DecoderFallbackBuffer CreateFallbackBuffer();
+ public override bool Equals(object value);
+ public override int GetHashCode();
+ }
+ public abstract class DecoderFallback {
+ protected DecoderFallback();
+ public static DecoderFallback ExceptionFallback { get; }
+ public abstract int MaxCharCount { get; }
+ public static DecoderFallback ReplacementFallback { get; }
+ public abstract DecoderFallbackBuffer CreateFallbackBuffer();
+ }
+ public abstract class DecoderFallbackBuffer {
+ protected DecoderFallbackBuffer();
+ public abstract int Remaining { get; }
+ public abstract bool Fallback(byte[] bytesUnknown, int index);
+ public abstract char GetNextChar();
+ public abstract bool MovePrevious();
+ public virtual void Reset();
+ }
+ public sealed class DecoderFallbackException : ArgumentException {
+ public DecoderFallbackException();
+ public DecoderFallbackException(string message);
+ public DecoderFallbackException(string message, byte[] bytesUnknown, int index);
+ public DecoderFallbackException(string message, Exception innerException);
+ public byte[] BytesUnknown { get; }
+ public int Index { get; }
+ }
+ public sealed class DecoderReplacementFallback : DecoderFallback {
+ public DecoderReplacementFallback();
+ public DecoderReplacementFallback(string replacement);
+ public string DefaultString { get; }
+ public override int MaxCharCount { get; }
+ public override DecoderFallbackBuffer CreateFallbackBuffer();
+ public override bool Equals(object value);
+ public override int GetHashCode();
+ }
+ public abstract class Encoder {
+ protected Encoder();
+ public EncoderFallback Fallback { get; set; }
+ public EncoderFallbackBuffer FallbackBuffer { get; }
+ public unsafe virtual void Convert(char* chars, int charCount, byte* bytes, int byteCount, bool flush, out int charsUsed, out int bytesUsed, out bool completed);
+ public virtual void Convert(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex, int byteCount, bool flush, out int charsUsed, out int bytesUsed, out bool completed);
+ public unsafe virtual int GetByteCount(char* chars, int count, bool flush);
+ public abstract int GetByteCount(char[] chars, int index, int count, bool flush);
+ public unsafe virtual int GetBytes(char* chars, int charCount, byte* bytes, int byteCount, bool flush);
+ public abstract int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex, bool flush);
+ public virtual void Reset();
+ }
+ public sealed class EncoderExceptionFallback : EncoderFallback {
+ public EncoderExceptionFallback();
+ public override int MaxCharCount { get; }
+ public override EncoderFallbackBuffer CreateFallbackBuffer();
+ public override bool Equals(object value);
+ public override int GetHashCode();
+ }
+ public abstract class EncoderFallback {
+ protected EncoderFallback();
+ public static EncoderFallback ExceptionFallback { get; }
+ public abstract int MaxCharCount { get; }
+ public static EncoderFallback ReplacementFallback { get; }
+ public abstract EncoderFallbackBuffer CreateFallbackBuffer();
+ }
+ public abstract class EncoderFallbackBuffer {
+ protected EncoderFallbackBuffer();
+ public abstract int Remaining { get; }
+ public abstract bool Fallback(char charUnknownHigh, char charUnknownLow, int index);
+ public abstract bool Fallback(char charUnknown, int index);
+ public abstract char GetNextChar();
+ public abstract bool MovePrevious();
+ public virtual void Reset();
+ }
+ public sealed class EncoderFallbackException : ArgumentException {
+ public EncoderFallbackException();
+ public EncoderFallbackException(string message);
+ public EncoderFallbackException(string message, Exception innerException);
+ public char CharUnknown { get; }
+ public char CharUnknownHigh { get; }
+ public char CharUnknownLow { get; }
+ public int Index { get; }
+ public bool IsUnknownSurrogate();
+ }
+ public sealed class EncoderReplacementFallback : EncoderFallback {
+ public EncoderReplacementFallback();
+ public EncoderReplacementFallback(string replacement);
+ public string DefaultString { get; }
+ public override int MaxCharCount { get; }
+ public override EncoderFallbackBuffer CreateFallbackBuffer();
+ public override bool Equals(object value);
+ public override int GetHashCode();
+ }
+ public abstract class Encoding {
+ protected Encoding();
+ protected Encoding(int codePage);
+ protected Encoding(int codePage, EncoderFallback encoderFallback, DecoderFallback decoderFallback);
+ public static Encoding ASCII { get; }
+ public static Encoding BigEndianUnicode { get; }
+ public virtual int CodePage { get; }
+ public DecoderFallback DecoderFallback { get; }
+ public EncoderFallback EncoderFallback { get; }
+ public virtual string EncodingName { get; }
+ public virtual bool IsSingleByte { get; }
+ public static Encoding Unicode { get; }
+ public static Encoding UTF32 { get; }
+ public static Encoding UTF7 { get; }
+ public static Encoding UTF8 { get; }
+ public virtual string WebName { get; }
+ public virtual object Clone();
+ public static byte[] Convert(Encoding srcEncoding, Encoding dstEncoding, byte[] bytes);
+ public static byte[] Convert(Encoding srcEncoding, Encoding dstEncoding, byte[] bytes, int index, int count);
+ public override bool Equals(object value);
+ public unsafe virtual int GetByteCount(char* chars, int count);
+ public virtual int GetByteCount(char[] chars);
+ public abstract int GetByteCount(char[] chars, int index, int count);
+ public virtual int GetByteCount(string s);
+ public unsafe virtual int GetBytes(char* chars, int charCount, byte* bytes, int byteCount);
+ public virtual byte[] GetBytes(char[] chars);
+ public virtual byte[] GetBytes(char[] chars, int index, int count);
+ public abstract int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public virtual byte[] GetBytes(string s);
+ public virtual int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public unsafe virtual int GetCharCount(byte* bytes, int count);
+ public virtual int GetCharCount(byte[] bytes);
+ public abstract int GetCharCount(byte[] bytes, int index, int count);
+ public unsafe virtual int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
+ public virtual char[] GetChars(byte[] bytes);
+ public virtual char[] GetChars(byte[] bytes, int index, int count);
+ public abstract int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public virtual Decoder GetDecoder();
+ public virtual Encoder GetEncoder();
+ public static Encoding GetEncoding(int codepage);
+ public static Encoding GetEncoding(int codepage, EncoderFallback encoderFallback, DecoderFallback decoderFallback);
+ public static Encoding GetEncoding(string name);
+ public static Encoding GetEncoding(string name, EncoderFallback encoderFallback, DecoderFallback decoderFallback);
+ public override int GetHashCode();
+ public abstract int GetMaxByteCount(int charCount);
+ public abstract int GetMaxCharCount(int byteCount);
+ public virtual byte[] GetPreamble();
+ public unsafe string GetString(byte* bytes, int byteCount);
+ public virtual string GetString(byte[] bytes);
+ public virtual string GetString(byte[] bytes, int index, int count);
+ public static void RegisterProvider(EncodingProvider provider);
+ }
+ public abstract class EncodingProvider {
+ public EncodingProvider();
+ public abstract Encoding GetEncoding(int codepage);
+ public virtual Encoding GetEncoding(int codepage, EncoderFallback encoderFallback, DecoderFallback decoderFallback);
+ public abstract Encoding GetEncoding(string name);
+ public virtual Encoding GetEncoding(string name, EncoderFallback encoderFallback, DecoderFallback decoderFallback);
+ }
+ public enum NormalizationForm {
+ FormC = 1,
+ FormD = 2,
+ FormKC = 5,
+ FormKD = 6,
+ }
+ public sealed class StringBuilder {
+ public StringBuilder();
+ public StringBuilder(int capacity);
+ public StringBuilder(int capacity, int maxCapacity);
+ public StringBuilder(string value);
+ public StringBuilder(string value, int capacity);
+ public StringBuilder(string value, int startIndex, int length, int capacity);
+ public int Capacity { get; set; }
+ public int Length { get; set; }
+ public int MaxCapacity { get; }
+ [System.Runtime.CompilerServices.IndexerName("Chars")]
+ public char this[int index] { get; set; }
+ public StringBuilder Append(bool value);
+ public StringBuilder Append(byte value);
+ public StringBuilder Append(char value);
+ public unsafe StringBuilder Append(char* value, int valueCount);
+ public StringBuilder Append(char value, int repeatCount);
+ public StringBuilder Append(char[] value);
+ public StringBuilder Append(char[] value, int startIndex, int charCount);
+ public StringBuilder Append(Decimal value);
+ public StringBuilder Append(double value);
+ public StringBuilder Append(short value);
+ public StringBuilder Append(int value);
+ public StringBuilder Append(long value);
+ public StringBuilder Append(object value);
+ public StringBuilder Append(sbyte value);
+ public StringBuilder Append(float value);
+ public StringBuilder Append(string value);
+ public StringBuilder Append(string value, int startIndex, int count);
+ public StringBuilder Append(ushort value);
+ public StringBuilder Append(uint value);
+ public StringBuilder Append(ulong value);
+ public StringBuilder AppendFormat(IFormatProvider provider, string format, object arg0);
+ public StringBuilder AppendFormat(IFormatProvider provider, string format, object arg0, object arg1);
+ public StringBuilder AppendFormat(IFormatProvider provider, string format, object arg0, object arg1, object arg2);
+ public StringBuilder AppendFormat(IFormatProvider provider, string format, params object[] args);
+ public StringBuilder AppendFormat(string format, object arg0);
+ public StringBuilder AppendFormat(string format, object arg0, object arg1);
+ public StringBuilder AppendFormat(string format, object arg0, object arg1, object arg2);
+ public StringBuilder AppendFormat(string format, params object[] args);
+ public StringBuilder AppendLine();
+ public StringBuilder AppendLine(string value);
+ public StringBuilder Clear();
+ public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count);
+ public int EnsureCapacity(int capacity);
+ public bool Equals(StringBuilder sb);
+ public StringBuilder Insert(int index, bool value);
+ public StringBuilder Insert(int index, byte value);
+ public StringBuilder Insert(int index, char value);
+ public StringBuilder Insert(int index, char[] value);
+ public StringBuilder Insert(int index, char[] value, int startIndex, int charCount);
+ public StringBuilder Insert(int index, Decimal value);
+ public StringBuilder Insert(int index, double value);
+ public StringBuilder Insert(int index, short value);
+ public StringBuilder Insert(int index, int value);
+ public StringBuilder Insert(int index, long value);
+ public StringBuilder Insert(int index, object value);
+ public StringBuilder Insert(int index, sbyte value);
+ public StringBuilder Insert(int index, float value);
+ public StringBuilder Insert(int index, string value);
+ public StringBuilder Insert(int index, string value, int count);
+ public StringBuilder Insert(int index, ushort value);
+ public StringBuilder Insert(int index, uint value);
+ public StringBuilder Insert(int index, ulong value);
+ public StringBuilder Remove(int startIndex, int length);
+ public StringBuilder Replace(char oldChar, char newChar);
+ public StringBuilder Replace(char oldChar, char newChar, int startIndex, int count);
+ public StringBuilder Replace(string oldValue, string newValue);
+ public StringBuilder Replace(string oldValue, string newValue, int startIndex, int count);
+ public override string ToString();
+ public string ToString(int startIndex, int length);
+ }
+ public class UnicodeEncoding : Encoding {
+ public UnicodeEncoding();
+ public UnicodeEncoding(bool bigEndian, bool byteOrderMark);
+ public UnicodeEncoding(bool bigEndian, bool byteOrderMark, bool throwOnInvalidBytes);
+ public override bool Equals(object value);
+ public unsafe override int GetByteCount(char* chars, int count);
+ public override int GetByteCount(char[] chars, int index, int count);
+ public override int GetByteCount(string s);
+ public unsafe override int GetBytes(char* chars, int charCount, byte* bytes, int byteCount);
+ public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public override int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public unsafe override int GetCharCount(byte* bytes, int count);
+ public override int GetCharCount(byte[] bytes, int index, int count);
+ public unsafe override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
+ public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public override Decoder GetDecoder();
+ public override Encoder GetEncoder();
+ public override int GetHashCode();
+ public override int GetMaxByteCount(int charCount);
+ public override int GetMaxCharCount(int byteCount);
+ public override byte[] GetPreamble();
+ public override string GetString(byte[] bytes, int index, int count);
+ }
+ public sealed class UTF32Encoding : Encoding {
+ public UTF32Encoding();
+ public UTF32Encoding(bool bigEndian, bool byteOrderMark);
+ public UTF32Encoding(bool bigEndian, bool byteOrderMark, bool throwOnInvalidCharacters);
+ public override bool Equals(object value);
+ public unsafe override int GetByteCount(char* chars, int count);
+ public override int GetByteCount(char[] chars, int index, int count);
+ public override int GetByteCount(string s);
+ public unsafe override int GetBytes(char* chars, int charCount, byte* bytes, int byteCount);
+ public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public override int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public unsafe override int GetCharCount(byte* bytes, int count);
+ public override int GetCharCount(byte[] bytes, int index, int count);
+ public unsafe override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
+ public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public override Decoder GetDecoder();
+ public override Encoder GetEncoder();
+ public override int GetHashCode();
+ public override int GetMaxByteCount(int charCount);
+ public override int GetMaxCharCount(int byteCount);
+ public override byte[] GetPreamble();
+ public override string GetString(byte[] bytes, int index, int count);
+ }
+ public class UTF7Encoding : Encoding {
+ public UTF7Encoding();
+ public UTF7Encoding(bool allowOptionals);
+ public override bool Equals(object value);
+ public unsafe override int GetByteCount(char* chars, int count);
+ public override int GetByteCount(char[] chars, int index, int count);
+ public override int GetByteCount(string s);
+ public unsafe override int GetBytes(char* chars, int charCount, byte* bytes, int byteCount);
+ public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public override int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public unsafe override int GetCharCount(byte* bytes, int count);
+ public override int GetCharCount(byte[] bytes, int index, int count);
+ public unsafe override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
+ public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public override Decoder GetDecoder();
+ public override Encoder GetEncoder();
+ public override int GetHashCode();
+ public override int GetMaxByteCount(int charCount);
+ public override int GetMaxCharCount(int byteCount);
+ public override string GetString(byte[] bytes, int index, int count);
+ }
+ public class UTF8Encoding : Encoding {
+ public UTF8Encoding();
+ public UTF8Encoding(bool encoderShouldEmitUTF8Identifier);
+ public UTF8Encoding(bool encoderShouldEmitUTF8Identifier, bool throwOnInvalidBytes);
+ public override bool Equals(object value);
+ public unsafe override int GetByteCount(char* chars, int count);
+ public override int GetByteCount(char[] chars, int index, int count);
+ public override int GetByteCount(string chars);
+ public unsafe override int GetBytes(char* chars, int charCount, byte* bytes, int byteCount);
+ public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public override int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public unsafe override int GetCharCount(byte* bytes, int count);
+ public override int GetCharCount(byte[] bytes, int index, int count);
+ public unsafe override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
+ public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public override Decoder GetDecoder();
+ public override Encoder GetEncoder();
+ public override int GetHashCode();
+ public override int GetMaxByteCount(int charCount);
+ public override int GetMaxCharCount(int byteCount);
+ public override byte[] GetPreamble();
+ public override string GetString(byte[] bytes, int index, int count);
+ }
+}
```
# System.Text
``` diff
+namespace System.Text {
+ public class ASCIIEncoding : Encoding {
+ public ASCIIEncoding();
+ public override bool IsSingleByte { get; }
+ public unsafe override int GetByteCount(char* chars, int count);
+ public override int GetByteCount(char[] chars, int index, int count);
+ public override int GetByteCount(string chars);
+ public unsafe override int GetBytes(char* chars, int charCount, byte* bytes, int byteCount);
+ public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public override int GetBytes(string chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public unsafe override int GetCharCount(byte* bytes, int count);
+ public override int GetCharCount(byte[] bytes, int index, int count);
+ public unsafe override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
+ public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public override Decoder GetDecoder();
+ public override Encoder GetEncoder();
+ public override int GetMaxByteCount(int charCount);
+ public override int GetMaxCharCount(int byteCount);
+ public override string GetString(byte[] bytes, int byteIndex, int byteCount);
+ }
+ public sealed class CodePagesEncodingProvider {
+ public static EncodingProvider Instance { get; }
+ }
+ public abstract class Decoder {
+ protected Decoder();
+ public DecoderFallback Fallback { get; set; }
+ public DecoderFallbackBuffer FallbackBuffer { get; }
+ public unsafe virtual void Convert(byte* bytes, int byteCount, char* chars, int charCount, bool flush, out int bytesUsed, out int charsUsed, out bool completed);
+ public virtual void Convert(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex, int charCount, bool flush, out int bytesUsed, out int charsUsed, out bool completed);
+ public unsafe virtual int GetCharCount(byte* bytes, int count, bool flush);
+ public abstract int GetCharCount(byte[] bytes, int index, int count);
+ public virtual int GetCharCount(byte[] bytes, int index, int count, bool flush);
+ public unsafe virtual int GetChars(byte* bytes, int byteCount, char* chars, int charCount, bool flush);
+ public abstract int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public virtual int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex, bool flush);
+ public virtual void Reset();
+ }
+ public sealed class DecoderExceptionFallback : DecoderFallback {
+ public DecoderExceptionFallback();
+ public override int MaxCharCount { get; }
+ public override DecoderFallbackBuffer CreateFallbackBuffer();
+ public override bool Equals(object value);
+ public override int GetHashCode();
+ }
+ public abstract class DecoderFallback {
+ protected DecoderFallback();
+ public static DecoderFallback ExceptionFallback { get; }
+ public abstract int MaxCharCount { get; }
+ public static DecoderFallback ReplacementFallback { get; }
+ public abstract DecoderFallbackBuffer CreateFallbackBuffer();
+ }
+ public abstract class DecoderFallbackBuffer {
+ protected DecoderFallbackBuffer();
+ public abstract int Remaining { get; }
+ public abstract bool Fallback(byte[] bytesUnknown, int index);
+ public abstract char GetNextChar();
+ public abstract bool MovePrevious();
+ public virtual void Reset();
+ }
+ public sealed class DecoderFallbackException : ArgumentException {
+ public DecoderFallbackException();
+ public DecoderFallbackException(string message);
+ public DecoderFallbackException(string message, byte[] bytesUnknown, int index);
+ public DecoderFallbackException(string message, Exception innerException);
+ public byte[] BytesUnknown { get; }
+ public int Index { get; }
+ }
+ public sealed class DecoderReplacementFallback : DecoderFallback {
+ public DecoderReplacementFallback();
+ public DecoderReplacementFallback(string replacement);
+ public string DefaultString { get; }
+ public override int MaxCharCount { get; }
+ public override DecoderFallbackBuffer CreateFallbackBuffer();
+ public override bool Equals(object value);
+ public override int GetHashCode();
+ }
+ public abstract class Encoder {
+ protected Encoder();
+ public EncoderFallback Fallback { get; set; }
+ public EncoderFallbackBuffer FallbackBuffer { get; }
+ public unsafe virtual void Convert(char* chars, int charCount, byte* bytes, int byteCount, bool flush, out int charsUsed, out int bytesUsed, out bool completed);
+ public virtual void Convert(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex, int byteCount, bool flush, out int charsUsed, out int bytesUsed, out bool completed);
+ public unsafe virtual int GetByteCount(char* chars, int count, bool flush);
+ public abstract int GetByteCount(char[] chars, int index, int count, bool flush);
+ public unsafe virtual int GetBytes(char* chars, int charCount, byte* bytes, int byteCount, bool flush);
+ public abstract int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex, bool flush);
+ public virtual void Reset();
+ }
+ public sealed class EncoderExceptionFallback : EncoderFallback {
+ public EncoderExceptionFallback();
+ public override int MaxCharCount { get; }
+ public override EncoderFallbackBuffer CreateFallbackBuffer();
+ public override bool Equals(object value);
+ public override int GetHashCode();
+ }
+ public abstract class EncoderFallback {
+ protected EncoderFallback();
+ public static EncoderFallback ExceptionFallback { get; }
+ public abstract int MaxCharCount { get; }
+ public static EncoderFallback ReplacementFallback { get; }
+ public abstract EncoderFallbackBuffer CreateFallbackBuffer();
+ }
+ public abstract class EncoderFallbackBuffer {
+ protected EncoderFallbackBuffer();
+ public abstract int Remaining { get; }
+ public abstract bool Fallback(char charUnknownHigh, char charUnknownLow, int index);
+ public abstract bool Fallback(char charUnknown, int index);
+ public abstract char GetNextChar();
+ public abstract bool MovePrevious();
+ public virtual void Reset();
+ }
+ public sealed class EncoderFallbackException : ArgumentException {
+ public EncoderFallbackException();
+ public EncoderFallbackException(string message);
+ public EncoderFallbackException(string message, Exception innerException);
+ public char CharUnknown { get; }
+ public char CharUnknownHigh { get; }
+ public char CharUnknownLow { get; }
+ public int Index { get; }
+ public bool IsUnknownSurrogate();
+ }
+ public sealed class EncoderReplacementFallback : EncoderFallback {
+ public EncoderReplacementFallback();
+ public EncoderReplacementFallback(string replacement);
+ public string DefaultString { get; }
+ public override int MaxCharCount { get; }
+ public override EncoderFallbackBuffer CreateFallbackBuffer();
+ public override bool Equals(object value);
+ public override int GetHashCode();
+ }
+ public abstract class Encoding {
+ protected Encoding();
+ protected Encoding(int codePage);
+ protected Encoding(int codePage, EncoderFallback encoderFallback, DecoderFallback decoderFallback);
+ public static Encoding ASCII { get; }
+ public static Encoding BigEndianUnicode { get; }
+ public virtual int CodePage { get; }
+ public DecoderFallback DecoderFallback { get; }
+ public EncoderFallback EncoderFallback { get; }
+ public virtual string EncodingName { get; }
+ public virtual bool IsSingleByte { get; }
+ public static Encoding Unicode { get; }
+ public static Encoding UTF32 { get; }
+ public static Encoding UTF7 { get; }
+ public static Encoding UTF8 { get; }
+ public virtual string WebName { get; }
+ public virtual object Clone();
+ public static byte[] Convert(Encoding srcEncoding, Encoding dstEncoding, byte[] bytes);
+ public static byte[] Convert(Encoding srcEncoding, Encoding dstEncoding, byte[] bytes, int index, int count);
+ public override bool Equals(object value);
+ public unsafe virtual int GetByteCount(char* chars, int count);
+ public virtual int GetByteCount(char[] chars);
+ public abstract int GetByteCount(char[] chars, int index, int count);
+ public virtual int GetByteCount(string s);
+ public unsafe virtual int GetBytes(char* chars, int charCount, byte* bytes, int byteCount);
+ public virtual byte[] GetBytes(char[] chars);
+ public virtual byte[] GetBytes(char[] chars, int index, int count);
+ public abstract int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public virtual byte[] GetBytes(string s);
+ public virtual int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public unsafe virtual int GetCharCount(byte* bytes, int count);
+ public virtual int GetCharCount(byte[] bytes);
+ public abstract int GetCharCount(byte[] bytes, int index, int count);
+ public unsafe virtual int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
+ public virtual char[] GetChars(byte[] bytes);
+ public virtual char[] GetChars(byte[] bytes, int index, int count);
+ public abstract int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public virtual Decoder GetDecoder();
+ public virtual Encoder GetEncoder();
+ public static Encoding GetEncoding(int codepage);
+ public static Encoding GetEncoding(int codepage, EncoderFallback encoderFallback, DecoderFallback decoderFallback);
+ public static Encoding GetEncoding(string name);
+ public static Encoding GetEncoding(string name, EncoderFallback encoderFallback, DecoderFallback decoderFallback);
+ public override int GetHashCode();
+ public abstract int GetMaxByteCount(int charCount);
+ public abstract int GetMaxCharCount(int byteCount);
+ public virtual byte[] GetPreamble();
+ public unsafe string GetString(byte* bytes, int byteCount);
+ public virtual string GetString(byte[] bytes);
+ public virtual string GetString(byte[] bytes, int index, int count);
+ public static void RegisterProvider(EncodingProvider provider);
+ }
+ public abstract class EncodingProvider {
+ public EncodingProvider();
+ public abstract Encoding GetEncoding(int codepage);
+ public virtual Encoding GetEncoding(int codepage, EncoderFallback encoderFallback, DecoderFallback decoderFallback);
+ public abstract Encoding GetEncoding(string name);
+ public virtual Encoding GetEncoding(string name, EncoderFallback encoderFallback, DecoderFallback decoderFallback);
+ }
+ public enum NormalizationForm {
+ FormC = 1,
+ FormD = 2,
+ FormKC = 5,
+ FormKD = 6,
+ }
+ public sealed class StringBuilder {
+ public StringBuilder();
+ public StringBuilder(int capacity);
+ public StringBuilder(int capacity, int maxCapacity);
+ public StringBuilder(string value);
+ public StringBuilder(string value, int capacity);
+ public StringBuilder(string value, int startIndex, int length, int capacity);
+ public int Capacity { get; set; }
+ public int Length { get; set; }
+ public int MaxCapacity { get; }
+ [System.Runtime.CompilerServices.IndexerName("Chars")]
+ public char this[int index] { get; set; }
+ public StringBuilder Append(bool value);
+ public StringBuilder Append(byte value);
+ public StringBuilder Append(char value);
+ public unsafe StringBuilder Append(char* value, int valueCount);
+ public StringBuilder Append(char value, int repeatCount);
+ public StringBuilder Append(char[] value);
+ public StringBuilder Append(char[] value, int startIndex, int charCount);
+ public StringBuilder Append(Decimal value);
+ public StringBuilder Append(double value);
+ public StringBuilder Append(short value);
+ public StringBuilder Append(int value);
+ public StringBuilder Append(long value);
+ public StringBuilder Append(object value);
+ public StringBuilder Append(sbyte value);
+ public StringBuilder Append(float value);
+ public StringBuilder Append(string value);
+ public StringBuilder Append(string value, int startIndex, int count);
+ public StringBuilder Append(ushort value);
+ public StringBuilder Append(uint value);
+ public StringBuilder Append(ulong value);
+ public StringBuilder AppendFormat(IFormatProvider provider, string format, object arg0);
+ public StringBuilder AppendFormat(IFormatProvider provider, string format, object arg0, object arg1);
+ public StringBuilder AppendFormat(IFormatProvider provider, string format, object arg0, object arg1, object arg2);
+ public StringBuilder AppendFormat(IFormatProvider provider, string format, params object[] args);
+ public StringBuilder AppendFormat(string format, object arg0);
+ public StringBuilder AppendFormat(string format, object arg0, object arg1);
+ public StringBuilder AppendFormat(string format, object arg0, object arg1, object arg2);
+ public StringBuilder AppendFormat(string format, params object[] args);
+ public StringBuilder AppendLine();
+ public StringBuilder AppendLine(string value);
+ public StringBuilder Clear();
+ public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count);
+ public int EnsureCapacity(int capacity);
+ public bool Equals(StringBuilder sb);
+ public StringBuilder Insert(int index, bool value);
+ public StringBuilder Insert(int index, byte value);
+ public StringBuilder Insert(int index, char value);
+ public StringBuilder Insert(int index, char[] value);
+ public StringBuilder Insert(int index, char[] value, int startIndex, int charCount);
+ public StringBuilder Insert(int index, Decimal value);
+ public StringBuilder Insert(int index, double value);
+ public StringBuilder Insert(int index, short value);
+ public StringBuilder Insert(int index, int value);
+ public StringBuilder Insert(int index, long value);
+ public StringBuilder Insert(int index, object value);
+ public StringBuilder Insert(int index, sbyte value);
+ public StringBuilder Insert(int index, float value);
+ public StringBuilder Insert(int index, string value);
+ public StringBuilder Insert(int index, string value, int count);
+ public StringBuilder Insert(int index, ushort value);
+ public StringBuilder Insert(int index, uint value);
+ public StringBuilder Insert(int index, ulong value);
+ public StringBuilder Remove(int startIndex, int length);
+ public StringBuilder Replace(char oldChar, char newChar);
+ public StringBuilder Replace(char oldChar, char newChar, int startIndex, int count);
+ public StringBuilder Replace(string oldValue, string newValue);
+ public StringBuilder Replace(string oldValue, string newValue, int startIndex, int count);
+ public override string ToString();
+ public string ToString(int startIndex, int length);
+ }
+ public class UnicodeEncoding : Encoding {
+ public UnicodeEncoding();
+ public UnicodeEncoding(bool bigEndian, bool byteOrderMark);
+ public UnicodeEncoding(bool bigEndian, bool byteOrderMark, bool throwOnInvalidBytes);
+ public override bool Equals(object value);
+ public unsafe override int GetByteCount(char* chars, int count);
+ public override int GetByteCount(char[] chars, int index, int count);
+ public override int GetByteCount(string s);
+ public unsafe override int GetBytes(char* chars, int charCount, byte* bytes, int byteCount);
+ public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public override int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public unsafe override int GetCharCount(byte* bytes, int count);
+ public override int GetCharCount(byte[] bytes, int index, int count);
+ public unsafe override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
+ public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public override Decoder GetDecoder();
+ public override Encoder GetEncoder();
+ public override int GetHashCode();
+ public override int GetMaxByteCount(int charCount);
+ public override int GetMaxCharCount(int byteCount);
+ public override byte[] GetPreamble();
+ public override string GetString(byte[] bytes, int index, int count);
+ }
+ public sealed class UTF32Encoding : Encoding {
+ public UTF32Encoding();
+ public UTF32Encoding(bool bigEndian, bool byteOrderMark);
+ public UTF32Encoding(bool bigEndian, bool byteOrderMark, bool throwOnInvalidCharacters);
+ public override bool Equals(object value);
+ public unsafe override int GetByteCount(char* chars, int count);
+ public override int GetByteCount(char[] chars, int index, int count);
+ public override int GetByteCount(string s);
+ public unsafe override int GetBytes(char* chars, int charCount, byte* bytes, int byteCount);
+ public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public override int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public unsafe override int GetCharCount(byte* bytes, int count);
+ public override int GetCharCount(byte[] bytes, int index, int count);
+ public unsafe override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
+ public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public override Decoder GetDecoder();
+ public override Encoder GetEncoder();
+ public override int GetHashCode();
+ public override int GetMaxByteCount(int charCount);
+ public override int GetMaxCharCount(int byteCount);
+ public override byte[] GetPreamble();
+ public override string GetString(byte[] bytes, int index, int count);
+ }
+ public class UTF7Encoding : Encoding {
+ public UTF7Encoding();
+ public UTF7Encoding(bool allowOptionals);
+ public override bool Equals(object value);
+ public unsafe override int GetByteCount(char* chars, int count);
+ public override int GetByteCount(char[] chars, int index, int count);
+ public override int GetByteCount(string s);
+ public unsafe override int GetBytes(char* chars, int charCount, byte* bytes, int byteCount);
+ public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public override int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public unsafe override int GetCharCount(byte* bytes, int count);
+ public override int GetCharCount(byte[] bytes, int index, int count);
+ public unsafe override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
+ public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public override Decoder GetDecoder();
+ public override Encoder GetEncoder();
+ public override int GetHashCode();
+ public override int GetMaxByteCount(int charCount);
+ public override int GetMaxCharCount(int byteCount);
+ public override string GetString(byte[] bytes, int index, int count);
+ }
+ public class UTF8Encoding : Encoding {
+ public UTF8Encoding();
+ public UTF8Encoding(bool encoderShouldEmitUTF8Identifier);
+ public UTF8Encoding(bool encoderShouldEmitUTF8Identifier, bool throwOnInvalidBytes);
+ public override bool Equals(object value);
+ public unsafe override int GetByteCount(char* chars, int count);
+ public override int GetByteCount(char[] chars, int index, int count);
+ public override int GetByteCount(string chars);
+ public unsafe override int GetBytes(char* chars, int charCount, byte* bytes, int byteCount);
+ public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public override int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex);
+ public unsafe override int GetCharCount(byte* bytes, int count);
+ public override int GetCharCount(byte[] bytes, int index, int count);
+ public unsafe override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
+ public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
+ public override Decoder GetDecoder();
+ public override Encoder GetEncoder();
+ public override int GetHashCode();
+ public override int GetMaxByteCount(int charCount);
+ public override int GetMaxCharCount(int byteCount);
+ public override byte[] GetPreamble();
+ public override string GetString(byte[] bytes, int index, int count);
+ }
+}
```

View File

@@ -1,284 +1,284 @@
# System.Threading.Tasks.Dataflow
``` diff
+namespace System.Threading.Tasks.Dataflow {
+ public sealed class ActionBlock<TInput> : IDataflowBlock, IDebuggerDisplay, ITargetBlock<TInput> {
+ public ActionBlock(Action<TInput> action);
+ public ActionBlock(Action<TInput> action, ExecutionDataflowBlockOptions dataflowBlockOptions);
+ public ActionBlock(Func<TInput, Task> action);
+ public ActionBlock(Func<TInput, Task> action, ExecutionDataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public int InputCount { get; }
+ public void Complete();
+ [MethodImpl(AggressiveInlining)]public bool Post(TInput item);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader messageHeader, TInput messageValue, ISourceBlock<TInput> source, bool consumeToAccept);
+ public override string ToString();
+ }
+ public sealed class BatchBlock<T> : IDataflowBlock, IDebuggerDisplay, IPropagatorBlock<T, T[]>, IReceivableSourceBlock<T[]>, ISourceBlock<T[]>, ITargetBlock<T> {
+ public BatchBlock(int batchSize);
+ public BatchBlock(int batchSize, GroupingDataflowBlockOptions dataflowBlockOptions);
+ public int BatchSize { get; }
+ public Task Completion { get; }
+ public int OutputCount { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<T[]> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ T[] System.Threading.Tasks.Dataflow.ISourceBlock<T[]>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<T[]> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<T[]>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<T[]> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<T[]>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<T[]> target);
+ DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage(DataflowMessageHeader messageHeader, T messageValue, ISourceBlock<T> source, bool consumeToAccept);
+ public override string ToString();
+ public void TriggerBatch();
+ public bool TryReceive(Predicate<T[]> filter, out T[] item);
+ public bool TryReceiveAll(out IList<T[]> items);
+ }
+ public sealed class BatchedJoinBlock<T1, T2> : IDataflowBlock, IDebuggerDisplay, IReceivableSourceBlock<Tuple<IList<T1>, IList<T2>>>, ISourceBlock<Tuple<IList<T1>, IList<T2>>> {
+ public BatchedJoinBlock(int batchSize);
+ public BatchedJoinBlock(int batchSize, GroupingDataflowBlockOptions dataflowBlockOptions);
+ public int BatchSize { get; }
+ public Task Completion { get; }
+ public int OutputCount { get; }
+ public ITargetBlock<T1> Target1 { get; }
+ public ITargetBlock<T2> Target2 { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<Tuple<IList<T1>, IList<T2>>> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ Tuple<IList<T1>, IList<T2>> System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<IList<T1>, IList<T2>>> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<IList<T1>, IList<T2>>> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<IList<T1>, IList<T2>>> target);
+ public override string ToString();
+ public bool TryReceive(Predicate<Tuple<IList<T1>, IList<T2>>> filter, out Tuple<IList<T1>, IList<T2>> item);
+ public bool TryReceiveAll(out IList<Tuple<IList<T1>, IList<T2>>> items);
+ }
+ public sealed class BatchedJoinBlock<T1, T2, T3> : IDataflowBlock, IDebuggerDisplay, IReceivableSourceBlock<Tuple<IList<T1>, IList<T2>, IList<T3>>>, ISourceBlock<Tuple<IList<T1>, IList<T2>, IList<T3>>> {
+ public BatchedJoinBlock(int batchSize);
+ public BatchedJoinBlock(int batchSize, GroupingDataflowBlockOptions dataflowBlockOptions);
+ public int BatchSize { get; }
+ public Task Completion { get; }
+ public int OutputCount { get; }
+ public ITargetBlock<T1> Target1 { get; }
+ public ITargetBlock<T2> Target2 { get; }
+ public ITargetBlock<T3> Target3 { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<Tuple<IList<T1>, IList<T2>, IList<T3>>> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ Tuple<IList<T1>, IList<T2>, IList<T3>> System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<IList<T1>, IList<T2>, IList<T3>>> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<IList<T1>, IList<T2>, IList<T3>>> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<IList<T1>, IList<T2>, IList<T3>>> target);
+ public override string ToString();
+ public bool TryReceive(Predicate<Tuple<IList<T1>, IList<T2>, IList<T3>>> filter, out Tuple<IList<T1>, IList<T2>, IList<T3>> item);
+ public bool TryReceiveAll(out IList<Tuple<IList<T1>, IList<T2>, IList<T3>>> items);
+ }
+ public sealed class BroadcastBlock<T> : IDataflowBlock, IDebuggerDisplay, IPropagatorBlock<T, T>, IReceivableSourceBlock<T>, ISourceBlock<T>, ITargetBlock<T> {
+ public BroadcastBlock(Func<T, T> cloningFunction);
+ public BroadcastBlock(Func<T, T> cloningFunction, DataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<T> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ bool System.Threading.Tasks.Dataflow.IReceivableSourceBlock<T>.TryReceiveAll(out IList<T> items);
+ T System.Threading.Tasks.Dataflow.ISourceBlock<T>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<T> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<T> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<T> target);
+ DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage(DataflowMessageHeader messageHeader, T messageValue, ISourceBlock<T> source, bool consumeToAccept);
+ public override string ToString();
+ public bool TryReceive(Predicate<T> filter, out T item);
+ }
+ public sealed class BufferBlock<T> : IDataflowBlock, IDebuggerDisplay, IPropagatorBlock<T, T>, IReceivableSourceBlock<T>, ISourceBlock<T>, ITargetBlock<T> {
+ public BufferBlock();
+ public BufferBlock(DataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public int Count { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<T> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ T System.Threading.Tasks.Dataflow.ISourceBlock<T>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<T> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<T> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<T> target);
+ DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage(DataflowMessageHeader messageHeader, T messageValue, ISourceBlock<T> source, bool consumeToAccept);
+ public override string ToString();
+ public bool TryReceive(Predicate<T> filter, out T item);
+ public bool TryReceiveAll(out IList<T> items);
+ }
+ public static class DataflowBlock {
+ public static IObservable<TOutput> AsObservable<TOutput>(this ISourceBlock<TOutput> source);
+ public static IObserver<TInput> AsObserver<TInput>(this ITargetBlock<TInput> target);
+ public static Task<int> Choose<T1, T2, T3>(ISourceBlock<T1> source1, Action<T1> action1, ISourceBlock<T2> source2, Action<T2> action2, ISourceBlock<T3> source3, Action<T3> action3);
+ public static Task<int> Choose<T1, T2, T3>(ISourceBlock<T1> source1, Action<T1> action1, ISourceBlock<T2> source2, Action<T2> action2, ISourceBlock<T3> source3, Action<T3> action3, DataflowBlockOptions dataflowBlockOptions);
+ public static Task<int> Choose<T1, T2>(ISourceBlock<T1> source1, Action<T1> action1, ISourceBlock<T2> source2, Action<T2> action2);
+ public static Task<int> Choose<T1, T2>(ISourceBlock<T1> source1, Action<T1> action1, ISourceBlock<T2> source2, Action<T2> action2, DataflowBlockOptions dataflowBlockOptions);
+ public static IPropagatorBlock<TInput, TOutput> Encapsulate<TInput, TOutput>(ITargetBlock<TInput> target, ISourceBlock<TOutput> source);
+ public static IDisposable LinkTo<TOutput>(this ISourceBlock<TOutput> source, ITargetBlock<TOutput> target);
+ public static IDisposable LinkTo<TOutput>(this ISourceBlock<TOutput> source, ITargetBlock<TOutput> target, Predicate<TOutput> predicate);
+ public static IDisposable LinkTo<TOutput>(this ISourceBlock<TOutput> source, ITargetBlock<TOutput> target, DataflowLinkOptions linkOptions, Predicate<TOutput> predicate);
+ public static ITargetBlock<TInput> NullTarget<TInput>();
+ public static Task<bool> OutputAvailableAsync<TOutput>(this ISourceBlock<TOutput> source);
+ public static Task<bool> OutputAvailableAsync<TOutput>(this ISourceBlock<TOutput> source, CancellationToken cancellationToken);
+ public static bool Post<TInput>(this ITargetBlock<TInput> target, TInput item);
+ public static TOutput Receive<TOutput>(this ISourceBlock<TOutput> source);
+ public static TOutput Receive<TOutput>(this ISourceBlock<TOutput> source, CancellationToken cancellationToken);
+ public static TOutput Receive<TOutput>(this ISourceBlock<TOutput> source, TimeSpan timeout);
+ public static TOutput Receive<TOutput>(this ISourceBlock<TOutput> source, TimeSpan timeout, CancellationToken cancellationToken);
+ public static Task<TOutput> ReceiveAsync<TOutput>(this ISourceBlock<TOutput> source);
+ public static Task<TOutput> ReceiveAsync<TOutput>(this ISourceBlock<TOutput> source, CancellationToken cancellationToken);
+ public static Task<TOutput> ReceiveAsync<TOutput>(this ISourceBlock<TOutput> source, TimeSpan timeout);
+ public static Task<TOutput> ReceiveAsync<TOutput>(this ISourceBlock<TOutput> source, TimeSpan timeout, CancellationToken cancellationToken);
+ public static Task<bool> SendAsync<TInput>(this ITargetBlock<TInput> target, TInput item);
+ public static Task<bool> SendAsync<TInput>(this ITargetBlock<TInput> target, TInput item, CancellationToken cancellationToken);
+ public static bool TryReceive<TOutput>(this IReceivableSourceBlock<TOutput> source, out TOutput item);
+ }
+ public class DataflowBlockOptions {
+ public const int Unbounded = -1;
+ public DataflowBlockOptions();
+ public int BoundedCapacity { get; set; }
+ public CancellationToken CancellationToken { get; set; }
+ public bool EnsureOrdered { get; set; }
+ public int MaxMessagesPerTask { get; set; }
+ public string NameFormat { get; set; }
+ public TaskScheduler TaskScheduler { get; set; }
+ }
+ public class DataflowLinkOptions {
+ public DataflowLinkOptions();
+ public bool Append { get; set; }
+ public int MaxMessages { get; set; }
+ public bool PropagateCompletion { get; set; }
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct DataflowMessageHeader : IEquatable<DataflowMessageHeader> {
+ public DataflowMessageHeader(long id);
+ public long Id { get; }
+ public bool IsValid { get; }
+ public override bool Equals(object obj);
+ public bool Equals(DataflowMessageHeader other);
+ public override int GetHashCode();
+ public static bool operator ==(DataflowMessageHeader left, DataflowMessageHeader right);
+ public static bool operator !=(DataflowMessageHeader left, DataflowMessageHeader right);
+ }
+ public enum DataflowMessageStatus {
+ Accepted = 0,
+ Declined = 1,
+ DecliningPermanently = 4,
+ NotAvailable = 3,
+ Postponed = 2,
+ }
+ public class ExecutionDataflowBlockOptions : DataflowBlockOptions {
+ public ExecutionDataflowBlockOptions();
+ public int MaxDegreeOfParallelism { get; set; }
+ public bool SingleProducerConstrained { get; set; }
+ }
+ public class GroupingDataflowBlockOptions : DataflowBlockOptions {
+ public GroupingDataflowBlockOptions();
+ public bool Greedy { get; set; }
+ public long MaxNumberOfGroups { get; set; }
+ }
+ public interface IDataflowBlock {
+ Task Completion { get; }
+ void Complete();
+ void Fault(Exception exception);
+ }
+ public interface IPropagatorBlock<in TInput, out TOutput> : IDataflowBlock, ISourceBlock<TOutput>, ITargetBlock<TInput>
+ public interface IReceivableSourceBlock<TOutput> : IDataflowBlock, ISourceBlock<TOutput> {
+ bool TryReceive(Predicate<TOutput> filter, out TOutput item);
+ bool TryReceiveAll(out IList<TOutput> items);
+ }
+ public interface ISourceBlock<out TOutput> : IDataflowBlock {
+ TOutput ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target, out bool messageConsumed);
+ IDisposable LinkTo(ITargetBlock<TOutput> target, DataflowLinkOptions linkOptions);
+ void ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target);
+ bool ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target);
+ }
+ public interface ITargetBlock<in TInput> : IDataflowBlock {
+ DataflowMessageStatus OfferMessage(DataflowMessageHeader messageHeader, TInput messageValue, ISourceBlock<TInput> source, bool consumeToAccept);
+ }
+ public sealed class JoinBlock<T1, T2> : IDataflowBlock, IDebuggerDisplay, IReceivableSourceBlock<Tuple<T1, T2>>, ISourceBlock<Tuple<T1, T2>> {
+ public JoinBlock();
+ public JoinBlock(GroupingDataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public int OutputCount { get; }
+ public ITargetBlock<T1> Target1 { get; }
+ public ITargetBlock<T2> Target2 { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<Tuple<T1, T2>> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ Tuple<T1, T2> System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2>>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<T1, T2>> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2>>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<T1, T2>> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2>>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<T1, T2>> target);
+ public override string ToString();
+ public bool TryReceive(Predicate<Tuple<T1, T2>> filter, out Tuple<T1, T2> item);
+ public bool TryReceiveAll(out IList<Tuple<T1, T2>> items);
+ }
+ public sealed class JoinBlock<T1, T2, T3> : IDataflowBlock, IDebuggerDisplay, IReceivableSourceBlock<Tuple<T1, T2, T3>>, ISourceBlock<Tuple<T1, T2, T3>> {
+ public JoinBlock();
+ public JoinBlock(GroupingDataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public int OutputCount { get; }
+ public ITargetBlock<T1> Target1 { get; }
+ public ITargetBlock<T2> Target2 { get; }
+ public ITargetBlock<T3> Target3 { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<Tuple<T1, T2, T3>> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ Tuple<T1, T2, T3> System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<T1, T2, T3>> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<T1, T2, T3>> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<T1, T2, T3>> target);
+ public override string ToString();
+ public bool TryReceive(Predicate<Tuple<T1, T2, T3>> filter, out Tuple<T1, T2, T3> item);
+ public bool TryReceiveAll(out IList<Tuple<T1, T2, T3>> items);
+ }
+ public sealed class TransformBlock<TInput, TOutput> : IDataflowBlock, IDebuggerDisplay, IPropagatorBlock<TInput, TOutput>, IReceivableSourceBlock<TOutput>, ISourceBlock<TOutput>, ITargetBlock<TInput> {
+ public TransformBlock(Func<TInput, Task<TOutput>> transform);
+ public TransformBlock(Func<TInput, Task<TOutput>> transform, ExecutionDataflowBlockOptions dataflowBlockOptions);
+ public TransformBlock(Func<TInput, TOutput> transform);
+ public TransformBlock(Func<TInput, TOutput> transform, ExecutionDataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public int InputCount { get; }
+ public int OutputCount { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<TOutput> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ TOutput System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target);
+ DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader messageHeader, TInput messageValue, ISourceBlock<TInput> source, bool consumeToAccept);
+ public override string ToString();
+ public bool TryReceive(Predicate<TOutput> filter, out TOutput item);
+ public bool TryReceiveAll(out IList<TOutput> items);
+ }
+ public sealed class TransformManyBlock<TInput, TOutput> : IDataflowBlock, IDebuggerDisplay, IPropagatorBlock<TInput, TOutput>, IReceivableSourceBlock<TOutput>, ISourceBlock<TOutput>, ITargetBlock<TInput> {
+ public TransformManyBlock(Func<TInput, IEnumerable<TOutput>> transform);
+ public TransformManyBlock(Func<TInput, IEnumerable<TOutput>> transform, ExecutionDataflowBlockOptions dataflowBlockOptions);
+ public TransformManyBlock(Func<TInput, Task<IEnumerable<TOutput>>> transform);
+ public TransformManyBlock(Func<TInput, Task<IEnumerable<TOutput>>> transform, ExecutionDataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public int InputCount { get; }
+ public int OutputCount { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<TOutput> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ TOutput System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target);
+ DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader messageHeader, TInput messageValue, ISourceBlock<TInput> source, bool consumeToAccept);
+ public override string ToString();
+ public bool TryReceive(Predicate<TOutput> filter, out TOutput item);
+ public bool TryReceiveAll(out IList<TOutput> items);
+ }
+ public sealed class WriteOnceBlock<T> : IDataflowBlock, IDebuggerDisplay, IPropagatorBlock<T, T>, IReceivableSourceBlock<T>, ISourceBlock<T>, ITargetBlock<T> {
+ public WriteOnceBlock(Func<T, T> cloningFunction);
+ public WriteOnceBlock(Func<T, T> cloningFunction, DataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<T> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ bool System.Threading.Tasks.Dataflow.IReceivableSourceBlock<T>.TryReceiveAll(out IList<T> items);
+ T System.Threading.Tasks.Dataflow.ISourceBlock<T>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<T> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<T> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<T> target);
+ DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage(DataflowMessageHeader messageHeader, T messageValue, ISourceBlock<T> source, bool consumeToAccept);
+ public override string ToString();
+ public bool TryReceive(Predicate<T> filter, out T item);
+ }
+}
```
# System.Threading.Tasks.Dataflow
``` diff
+namespace System.Threading.Tasks.Dataflow {
+ public sealed class ActionBlock<TInput> : IDataflowBlock, IDebuggerDisplay, ITargetBlock<TInput> {
+ public ActionBlock(Action<TInput> action);
+ public ActionBlock(Action<TInput> action, ExecutionDataflowBlockOptions dataflowBlockOptions);
+ public ActionBlock(Func<TInput, Task> action);
+ public ActionBlock(Func<TInput, Task> action, ExecutionDataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public int InputCount { get; }
+ public void Complete();
+ [MethodImpl(AggressiveInlining)]public bool Post(TInput item);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader messageHeader, TInput messageValue, ISourceBlock<TInput> source, bool consumeToAccept);
+ public override string ToString();
+ }
+ public sealed class BatchBlock<T> : IDataflowBlock, IDebuggerDisplay, IPropagatorBlock<T, T[]>, IReceivableSourceBlock<T[]>, ISourceBlock<T[]>, ITargetBlock<T> {
+ public BatchBlock(int batchSize);
+ public BatchBlock(int batchSize, GroupingDataflowBlockOptions dataflowBlockOptions);
+ public int BatchSize { get; }
+ public Task Completion { get; }
+ public int OutputCount { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<T[]> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ T[] System.Threading.Tasks.Dataflow.ISourceBlock<T[]>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<T[]> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<T[]>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<T[]> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<T[]>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<T[]> target);
+ DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage(DataflowMessageHeader messageHeader, T messageValue, ISourceBlock<T> source, bool consumeToAccept);
+ public override string ToString();
+ public void TriggerBatch();
+ public bool TryReceive(Predicate<T[]> filter, out T[] item);
+ public bool TryReceiveAll(out IList<T[]> items);
+ }
+ public sealed class BatchedJoinBlock<T1, T2> : IDataflowBlock, IDebuggerDisplay, IReceivableSourceBlock<Tuple<IList<T1>, IList<T2>>>, ISourceBlock<Tuple<IList<T1>, IList<T2>>> {
+ public BatchedJoinBlock(int batchSize);
+ public BatchedJoinBlock(int batchSize, GroupingDataflowBlockOptions dataflowBlockOptions);
+ public int BatchSize { get; }
+ public Task Completion { get; }
+ public int OutputCount { get; }
+ public ITargetBlock<T1> Target1 { get; }
+ public ITargetBlock<T2> Target2 { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<Tuple<IList<T1>, IList<T2>>> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ Tuple<IList<T1>, IList<T2>> System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<IList<T1>, IList<T2>>> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<IList<T1>, IList<T2>>> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>>>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<IList<T1>, IList<T2>>> target);
+ public override string ToString();
+ public bool TryReceive(Predicate<Tuple<IList<T1>, IList<T2>>> filter, out Tuple<IList<T1>, IList<T2>> item);
+ public bool TryReceiveAll(out IList<Tuple<IList<T1>, IList<T2>>> items);
+ }
+ public sealed class BatchedJoinBlock<T1, T2, T3> : IDataflowBlock, IDebuggerDisplay, IReceivableSourceBlock<Tuple<IList<T1>, IList<T2>, IList<T3>>>, ISourceBlock<Tuple<IList<T1>, IList<T2>, IList<T3>>> {
+ public BatchedJoinBlock(int batchSize);
+ public BatchedJoinBlock(int batchSize, GroupingDataflowBlockOptions dataflowBlockOptions);
+ public int BatchSize { get; }
+ public Task Completion { get; }
+ public int OutputCount { get; }
+ public ITargetBlock<T1> Target1 { get; }
+ public ITargetBlock<T2> Target2 { get; }
+ public ITargetBlock<T3> Target3 { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<Tuple<IList<T1>, IList<T2>, IList<T3>>> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ Tuple<IList<T1>, IList<T2>, IList<T3>> System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<IList<T1>, IList<T2>, IList<T3>>> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<IList<T1>, IList<T2>, IList<T3>>> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<System.Collections.Generic.IList<T1>,System.Collections.Generic.IList<T2>,System.Collections.Generic.IList<T3>>>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<IList<T1>, IList<T2>, IList<T3>>> target);
+ public override string ToString();
+ public bool TryReceive(Predicate<Tuple<IList<T1>, IList<T2>, IList<T3>>> filter, out Tuple<IList<T1>, IList<T2>, IList<T3>> item);
+ public bool TryReceiveAll(out IList<Tuple<IList<T1>, IList<T2>, IList<T3>>> items);
+ }
+ public sealed class BroadcastBlock<T> : IDataflowBlock, IDebuggerDisplay, IPropagatorBlock<T, T>, IReceivableSourceBlock<T>, ISourceBlock<T>, ITargetBlock<T> {
+ public BroadcastBlock(Func<T, T> cloningFunction);
+ public BroadcastBlock(Func<T, T> cloningFunction, DataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<T> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ bool System.Threading.Tasks.Dataflow.IReceivableSourceBlock<T>.TryReceiveAll(out IList<T> items);
+ T System.Threading.Tasks.Dataflow.ISourceBlock<T>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<T> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<T> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<T> target);
+ DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage(DataflowMessageHeader messageHeader, T messageValue, ISourceBlock<T> source, bool consumeToAccept);
+ public override string ToString();
+ public bool TryReceive(Predicate<T> filter, out T item);
+ }
+ public sealed class BufferBlock<T> : IDataflowBlock, IDebuggerDisplay, IPropagatorBlock<T, T>, IReceivableSourceBlock<T>, ISourceBlock<T>, ITargetBlock<T> {
+ public BufferBlock();
+ public BufferBlock(DataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public int Count { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<T> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ T System.Threading.Tasks.Dataflow.ISourceBlock<T>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<T> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<T> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<T> target);
+ DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage(DataflowMessageHeader messageHeader, T messageValue, ISourceBlock<T> source, bool consumeToAccept);
+ public override string ToString();
+ public bool TryReceive(Predicate<T> filter, out T item);
+ public bool TryReceiveAll(out IList<T> items);
+ }
+ public static class DataflowBlock {
+ public static IObservable<TOutput> AsObservable<TOutput>(this ISourceBlock<TOutput> source);
+ public static IObserver<TInput> AsObserver<TInput>(this ITargetBlock<TInput> target);
+ public static Task<int> Choose<T1, T2, T3>(ISourceBlock<T1> source1, Action<T1> action1, ISourceBlock<T2> source2, Action<T2> action2, ISourceBlock<T3> source3, Action<T3> action3);
+ public static Task<int> Choose<T1, T2, T3>(ISourceBlock<T1> source1, Action<T1> action1, ISourceBlock<T2> source2, Action<T2> action2, ISourceBlock<T3> source3, Action<T3> action3, DataflowBlockOptions dataflowBlockOptions);
+ public static Task<int> Choose<T1, T2>(ISourceBlock<T1> source1, Action<T1> action1, ISourceBlock<T2> source2, Action<T2> action2);
+ public static Task<int> Choose<T1, T2>(ISourceBlock<T1> source1, Action<T1> action1, ISourceBlock<T2> source2, Action<T2> action2, DataflowBlockOptions dataflowBlockOptions);
+ public static IPropagatorBlock<TInput, TOutput> Encapsulate<TInput, TOutput>(ITargetBlock<TInput> target, ISourceBlock<TOutput> source);
+ public static IDisposable LinkTo<TOutput>(this ISourceBlock<TOutput> source, ITargetBlock<TOutput> target);
+ public static IDisposable LinkTo<TOutput>(this ISourceBlock<TOutput> source, ITargetBlock<TOutput> target, Predicate<TOutput> predicate);
+ public static IDisposable LinkTo<TOutput>(this ISourceBlock<TOutput> source, ITargetBlock<TOutput> target, DataflowLinkOptions linkOptions, Predicate<TOutput> predicate);
+ public static ITargetBlock<TInput> NullTarget<TInput>();
+ public static Task<bool> OutputAvailableAsync<TOutput>(this ISourceBlock<TOutput> source);
+ public static Task<bool> OutputAvailableAsync<TOutput>(this ISourceBlock<TOutput> source, CancellationToken cancellationToken);
+ public static bool Post<TInput>(this ITargetBlock<TInput> target, TInput item);
+ public static TOutput Receive<TOutput>(this ISourceBlock<TOutput> source);
+ public static TOutput Receive<TOutput>(this ISourceBlock<TOutput> source, CancellationToken cancellationToken);
+ public static TOutput Receive<TOutput>(this ISourceBlock<TOutput> source, TimeSpan timeout);
+ public static TOutput Receive<TOutput>(this ISourceBlock<TOutput> source, TimeSpan timeout, CancellationToken cancellationToken);
+ public static Task<TOutput> ReceiveAsync<TOutput>(this ISourceBlock<TOutput> source);
+ public static Task<TOutput> ReceiveAsync<TOutput>(this ISourceBlock<TOutput> source, CancellationToken cancellationToken);
+ public static Task<TOutput> ReceiveAsync<TOutput>(this ISourceBlock<TOutput> source, TimeSpan timeout);
+ public static Task<TOutput> ReceiveAsync<TOutput>(this ISourceBlock<TOutput> source, TimeSpan timeout, CancellationToken cancellationToken);
+ public static Task<bool> SendAsync<TInput>(this ITargetBlock<TInput> target, TInput item);
+ public static Task<bool> SendAsync<TInput>(this ITargetBlock<TInput> target, TInput item, CancellationToken cancellationToken);
+ public static bool TryReceive<TOutput>(this IReceivableSourceBlock<TOutput> source, out TOutput item);
+ }
+ public class DataflowBlockOptions {
+ public const int Unbounded = -1;
+ public DataflowBlockOptions();
+ public int BoundedCapacity { get; set; }
+ public CancellationToken CancellationToken { get; set; }
+ public bool EnsureOrdered { get; set; }
+ public int MaxMessagesPerTask { get; set; }
+ public string NameFormat { get; set; }
+ public TaskScheduler TaskScheduler { get; set; }
+ }
+ public class DataflowLinkOptions {
+ public DataflowLinkOptions();
+ public bool Append { get; set; }
+ public int MaxMessages { get; set; }
+ public bool PropagateCompletion { get; set; }
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct DataflowMessageHeader : IEquatable<DataflowMessageHeader> {
+ public DataflowMessageHeader(long id);
+ public long Id { get; }
+ public bool IsValid { get; }
+ public override bool Equals(object obj);
+ public bool Equals(DataflowMessageHeader other);
+ public override int GetHashCode();
+ public static bool operator ==(DataflowMessageHeader left, DataflowMessageHeader right);
+ public static bool operator !=(DataflowMessageHeader left, DataflowMessageHeader right);
+ }
+ public enum DataflowMessageStatus {
+ Accepted = 0,
+ Declined = 1,
+ DecliningPermanently = 4,
+ NotAvailable = 3,
+ Postponed = 2,
+ }
+ public class ExecutionDataflowBlockOptions : DataflowBlockOptions {
+ public ExecutionDataflowBlockOptions();
+ public int MaxDegreeOfParallelism { get; set; }
+ public bool SingleProducerConstrained { get; set; }
+ }
+ public class GroupingDataflowBlockOptions : DataflowBlockOptions {
+ public GroupingDataflowBlockOptions();
+ public bool Greedy { get; set; }
+ public long MaxNumberOfGroups { get; set; }
+ }
+ public interface IDataflowBlock {
+ Task Completion { get; }
+ void Complete();
+ void Fault(Exception exception);
+ }
+ public interface IPropagatorBlock<in TInput, out TOutput> : IDataflowBlock, ISourceBlock<TOutput>, ITargetBlock<TInput>
+ public interface IReceivableSourceBlock<TOutput> : IDataflowBlock, ISourceBlock<TOutput> {
+ bool TryReceive(Predicate<TOutput> filter, out TOutput item);
+ bool TryReceiveAll(out IList<TOutput> items);
+ }
+ public interface ISourceBlock<out TOutput> : IDataflowBlock {
+ TOutput ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target, out bool messageConsumed);
+ IDisposable LinkTo(ITargetBlock<TOutput> target, DataflowLinkOptions linkOptions);
+ void ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target);
+ bool ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target);
+ }
+ public interface ITargetBlock<in TInput> : IDataflowBlock {
+ DataflowMessageStatus OfferMessage(DataflowMessageHeader messageHeader, TInput messageValue, ISourceBlock<TInput> source, bool consumeToAccept);
+ }
+ public sealed class JoinBlock<T1, T2> : IDataflowBlock, IDebuggerDisplay, IReceivableSourceBlock<Tuple<T1, T2>>, ISourceBlock<Tuple<T1, T2>> {
+ public JoinBlock();
+ public JoinBlock(GroupingDataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public int OutputCount { get; }
+ public ITargetBlock<T1> Target1 { get; }
+ public ITargetBlock<T2> Target2 { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<Tuple<T1, T2>> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ Tuple<T1, T2> System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2>>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<T1, T2>> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2>>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<T1, T2>> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2>>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<T1, T2>> target);
+ public override string ToString();
+ public bool TryReceive(Predicate<Tuple<T1, T2>> filter, out Tuple<T1, T2> item);
+ public bool TryReceiveAll(out IList<Tuple<T1, T2>> items);
+ }
+ public sealed class JoinBlock<T1, T2, T3> : IDataflowBlock, IDebuggerDisplay, IReceivableSourceBlock<Tuple<T1, T2, T3>>, ISourceBlock<Tuple<T1, T2, T3>> {
+ public JoinBlock();
+ public JoinBlock(GroupingDataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public int OutputCount { get; }
+ public ITargetBlock<T1> Target1 { get; }
+ public ITargetBlock<T2> Target2 { get; }
+ public ITargetBlock<T3> Target3 { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<Tuple<T1, T2, T3>> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ Tuple<T1, T2, T3> System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<T1, T2, T3>> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<T1, T2, T3>> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<System.Tuple<T1,T2,T3>>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<Tuple<T1, T2, T3>> target);
+ public override string ToString();
+ public bool TryReceive(Predicate<Tuple<T1, T2, T3>> filter, out Tuple<T1, T2, T3> item);
+ public bool TryReceiveAll(out IList<Tuple<T1, T2, T3>> items);
+ }
+ public sealed class TransformBlock<TInput, TOutput> : IDataflowBlock, IDebuggerDisplay, IPropagatorBlock<TInput, TOutput>, IReceivableSourceBlock<TOutput>, ISourceBlock<TOutput>, ITargetBlock<TInput> {
+ public TransformBlock(Func<TInput, Task<TOutput>> transform);
+ public TransformBlock(Func<TInput, Task<TOutput>> transform, ExecutionDataflowBlockOptions dataflowBlockOptions);
+ public TransformBlock(Func<TInput, TOutput> transform);
+ public TransformBlock(Func<TInput, TOutput> transform, ExecutionDataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public int InputCount { get; }
+ public int OutputCount { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<TOutput> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ TOutput System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target);
+ DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader messageHeader, TInput messageValue, ISourceBlock<TInput> source, bool consumeToAccept);
+ public override string ToString();
+ public bool TryReceive(Predicate<TOutput> filter, out TOutput item);
+ public bool TryReceiveAll(out IList<TOutput> items);
+ }
+ public sealed class TransformManyBlock<TInput, TOutput> : IDataflowBlock, IDebuggerDisplay, IPropagatorBlock<TInput, TOutput>, IReceivableSourceBlock<TOutput>, ISourceBlock<TOutput>, ITargetBlock<TInput> {
+ public TransformManyBlock(Func<TInput, IEnumerable<TOutput>> transform);
+ public TransformManyBlock(Func<TInput, IEnumerable<TOutput>> transform, ExecutionDataflowBlockOptions dataflowBlockOptions);
+ public TransformManyBlock(Func<TInput, Task<IEnumerable<TOutput>>> transform);
+ public TransformManyBlock(Func<TInput, Task<IEnumerable<TOutput>>> transform, ExecutionDataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public int InputCount { get; }
+ public int OutputCount { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<TOutput> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ TOutput System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<TOutput> target);
+ DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader messageHeader, TInput messageValue, ISourceBlock<TInput> source, bool consumeToAccept);
+ public override string ToString();
+ public bool TryReceive(Predicate<TOutput> filter, out TOutput item);
+ public bool TryReceiveAll(out IList<TOutput> items);
+ }
+ public sealed class WriteOnceBlock<T> : IDataflowBlock, IDebuggerDisplay, IPropagatorBlock<T, T>, IReceivableSourceBlock<T>, ISourceBlock<T>, ITargetBlock<T> {
+ public WriteOnceBlock(Func<T, T> cloningFunction);
+ public WriteOnceBlock(Func<T, T> cloningFunction, DataflowBlockOptions dataflowBlockOptions);
+ public Task Completion { get; }
+ public void Complete();
+ public IDisposable LinkTo(ITargetBlock<T> target, DataflowLinkOptions linkOptions);
+ void System.Threading.Tasks.Dataflow.IDataflowBlock.Fault(Exception exception);
+ bool System.Threading.Tasks.Dataflow.IReceivableSourceBlock<T>.TryReceiveAll(out IList<T> items);
+ T System.Threading.Tasks.Dataflow.ISourceBlock<T>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<T> target, out bool messageConsumed);
+ void System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<T> target);
+ bool System.Threading.Tasks.Dataflow.ISourceBlock<T>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<T> target);
+ DataflowMessageStatus System.Threading.Tasks.Dataflow.ITargetBlock<T>.OfferMessage(DataflowMessageHeader messageHeader, T messageValue, ISourceBlock<T> source, bool consumeToAccept);
+ public override string ToString();
+ public bool TryReceive(Predicate<T> filter, out T item);
+ }
+}
```

View File

@@ -1,432 +1,432 @@
# System.Threading.Tasks
``` diff
+namespace System.Threading.Tasks {
+ public class ConcurrentExclusiveSchedulerPair {
+ public ConcurrentExclusiveSchedulerPair();
+ public ConcurrentExclusiveSchedulerPair(TaskScheduler taskScheduler);
+ public ConcurrentExclusiveSchedulerPair(TaskScheduler taskScheduler, int maxConcurrencyLevel);
+ public ConcurrentExclusiveSchedulerPair(TaskScheduler taskScheduler, int maxConcurrencyLevel, int maxItemsPerTask);
+ public Task Completion { get; }
+ public TaskScheduler ConcurrentScheduler { get; }
+ public TaskScheduler ExclusiveScheduler { get; }
+ public void Complete();
+ }
+ public static class Parallel {
+ public static ParallelLoopResult For(int fromInclusive, int toExclusive, Action<int, ParallelLoopState> body);
+ public static ParallelLoopResult For(int fromInclusive, int toExclusive, Action<int> body);
+ public static ParallelLoopResult For(int fromInclusive, int toExclusive, ParallelOptions parallelOptions, Action<int, ParallelLoopState> body);
+ public static ParallelLoopResult For(int fromInclusive, int toExclusive, ParallelOptions parallelOptions, Action<int> body);
+ public static ParallelLoopResult For(long fromInclusive, long toExclusive, Action<long, ParallelLoopState> body);
+ public static ParallelLoopResult For(long fromInclusive, long toExclusive, Action<long> body);
+ public static ParallelLoopResult For(long fromInclusive, long toExclusive, ParallelOptions parallelOptions, Action<long, ParallelLoopState> body);
+ public static ParallelLoopResult For(long fromInclusive, long toExclusive, ParallelOptions parallelOptions, Action<long> body);
+ public static ParallelLoopResult For<TLocal>(int fromInclusive, int toExclusive, Func<TLocal> localInit, Func<int, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult For<TLocal>(int fromInclusive, int toExclusive, ParallelOptions parallelOptions, Func<TLocal> localInit, Func<int, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult For<TLocal>(long fromInclusive, long toExclusive, Func<TLocal> localInit, Func<long, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult For<TLocal>(long fromInclusive, long toExclusive, ParallelOptions parallelOptions, Func<TLocal> localInit, Func<long, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(OrderablePartitioner<TSource> source, Func<TLocal> localInit, Func<TSource, ParallelLoopState, long, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(OrderablePartitioner<TSource> source, ParallelOptions parallelOptions, Func<TLocal> localInit, Func<TSource, ParallelLoopState, long, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(Partitioner<TSource> source, Func<TLocal> localInit, Func<TSource, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(Partitioner<TSource> source, ParallelOptions parallelOptions, Func<TLocal> localInit, Func<TSource, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(IEnumerable<TSource> source, Func<TLocal> localInit, Func<TSource, ParallelLoopState, long, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(IEnumerable<TSource> source, Func<TLocal> localInit, Func<TSource, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(IEnumerable<TSource> source, ParallelOptions parallelOptions, Func<TLocal> localInit, Func<TSource, ParallelLoopState, long, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(IEnumerable<TSource> source, ParallelOptions parallelOptions, Func<TLocal> localInit, Func<TSource, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource>(OrderablePartitioner<TSource> source, Action<TSource, ParallelLoopState, long> body);
+ public static ParallelLoopResult ForEach<TSource>(OrderablePartitioner<TSource> source, ParallelOptions parallelOptions, Action<TSource, ParallelLoopState, long> body);
+ public static ParallelLoopResult ForEach<TSource>(Partitioner<TSource> source, Action<TSource, ParallelLoopState> body);
+ public static ParallelLoopResult ForEach<TSource>(Partitioner<TSource> source, Action<TSource> body);
+ public static ParallelLoopResult ForEach<TSource>(Partitioner<TSource> source, ParallelOptions parallelOptions, Action<TSource, ParallelLoopState> body);
+ public static ParallelLoopResult ForEach<TSource>(Partitioner<TSource> source, ParallelOptions parallelOptions, Action<TSource> body);
+ public static ParallelLoopResult ForEach<TSource>(IEnumerable<TSource> source, Action<TSource, ParallelLoopState, long> body);
+ public static ParallelLoopResult ForEach<TSource>(IEnumerable<TSource> source, Action<TSource, ParallelLoopState> body);
+ public static ParallelLoopResult ForEach<TSource>(IEnumerable<TSource> source, Action<TSource> body);
+ public static ParallelLoopResult ForEach<TSource>(IEnumerable<TSource> source, ParallelOptions parallelOptions, Action<TSource, ParallelLoopState, long> body);
+ public static ParallelLoopResult ForEach<TSource>(IEnumerable<TSource> source, ParallelOptions parallelOptions, Action<TSource, ParallelLoopState> body);
+ public static ParallelLoopResult ForEach<TSource>(IEnumerable<TSource> source, ParallelOptions parallelOptions, Action<TSource> body);
+ public static void Invoke(params Action[] actions);
+ public static void Invoke(ParallelOptions parallelOptions, params Action[] actions);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct ParallelLoopResult {
+ public bool IsCompleted { get; }
+ public Nullable<long> LowestBreakIteration { get; }
+ }
+ public class ParallelLoopState {
+ public bool IsExceptional { get; }
+ public bool IsStopped { get; }
+ public Nullable<long> LowestBreakIteration { get; }
+ public bool ShouldExitCurrentIteration { get; }
+ public void Break();
+ public void Stop();
+ }
+ public class ParallelOptions {
+ public ParallelOptions();
+ public CancellationToken CancellationToken { get; set; }
+ public int MaxDegreeOfParallelism { get; set; }
+ public TaskScheduler TaskScheduler { get; set; }
+ }
+ public class Task : IAsyncResult {
+ public Task(Action action);
+ public Task(Action action, CancellationToken cancellationToken);
+ public Task(Action action, CancellationToken cancellationToken, TaskCreationOptions creationOptions);
+ public Task(Action action, TaskCreationOptions creationOptions);
+ public Task(Action<object> action, object state);
+ public Task(Action<object> action, object state, CancellationToken cancellationToken);
+ public Task(Action<object> action, object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions);
+ public Task(Action<object> action, object state, TaskCreationOptions creationOptions);
+ public object AsyncState { get; }
+ public static Task CompletedTask { get; }
+ public TaskCreationOptions CreationOptions { get; }
+ public static Nullable<int> CurrentId { get; }
+ public AggregateException Exception { get; }
+ public static TaskFactory Factory { get; }
+ public int Id { get; }
+ public bool IsCanceled { get; }
+ public bool IsCompleted { get; }
+ public bool IsFaulted { get; }
+ public TaskStatus Status { get; }
+ WaitHandle System.IAsyncResult.AsyncWaitHandle { get; }
+ bool System.IAsyncResult.CompletedSynchronously { get; }
+ public ConfiguredTaskAwaitable ConfigureAwait(bool continueOnCapturedContext);
+ public Task ContinueWith(Action<Task, object> continuationAction, object state);
+ public Task ContinueWith(Action<Task, object> continuationAction, object state, CancellationToken cancellationToken);
+ public Task ContinueWith(Action<Task, object> continuationAction, object state, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWith(Action<Task, object> continuationAction, object state, TaskContinuationOptions continuationOptions);
+ public Task ContinueWith(Action<Task, object> continuationAction, object state, TaskScheduler scheduler);
+ public Task ContinueWith(Action<Task> continuationAction);
+ public Task ContinueWith(Action<Task> continuationAction, CancellationToken cancellationToken);
+ public Task ContinueWith(Action<Task> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWith(Action<Task> continuationAction, TaskContinuationOptions continuationOptions);
+ public Task ContinueWith(Action<Task> continuationAction, TaskScheduler scheduler);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, object, TResult> continuationFunction, object state);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, object, TResult> continuationFunction, object state, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, object, TResult> continuationFunction, object state, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, object, TResult> continuationFunction, object state, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, object, TResult> continuationFunction, object state, TaskScheduler scheduler);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, TResult> continuationFunction);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, TResult> continuationFunction, TaskScheduler scheduler);
+ public static Task Delay(int millisecondsDelay);
+ public static Task Delay(int millisecondsDelay, CancellationToken cancellationToken);
+ public static Task Delay(TimeSpan delay);
+ public static Task Delay(TimeSpan delay, CancellationToken cancellationToken);
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public static Task FromCanceled(CancellationToken cancellationToken);
+ public static Task<TResult> FromCanceled<TResult>(CancellationToken cancellationToken);
+ public static Task FromException(Exception exception);
+ public static Task<TResult> FromException<TResult>(Exception exception);
+ public static Task<TResult> FromResult<TResult>(TResult result);
+ public TaskAwaiter GetAwaiter();
+ public static Task Run(Action action);
+ public static Task Run(Action action, CancellationToken cancellationToken);
+ public static Task Run(Func<Task> function);
+ public static Task Run(Func<Task> function, CancellationToken cancellationToken);
+ public static Task<TResult> Run<TResult>(Func<Task<TResult>> function);
+ public static Task<TResult> Run<TResult>(Func<Task<TResult>> function, CancellationToken cancellationToken);
+ public static Task<TResult> Run<TResult>(Func<TResult> function);
+ public static Task<TResult> Run<TResult>(Func<TResult> function, CancellationToken cancellationToken);
+ public void RunSynchronously();
+ public void RunSynchronously(TaskScheduler scheduler);
+ public void Start();
+ public void Start(TaskScheduler scheduler);
+ public void Wait();
+ public bool Wait(int millisecondsTimeout);
+ public bool Wait(int millisecondsTimeout, CancellationToken cancellationToken);
+ public void Wait(CancellationToken cancellationToken);
+ public bool Wait(TimeSpan timeout);
+ public static void WaitAll(params Task[] tasks);
+ public static bool WaitAll(Task[] tasks, int millisecondsTimeout);
+ public static bool WaitAll(Task[] tasks, int millisecondsTimeout, CancellationToken cancellationToken);
+ public static void WaitAll(Task[] tasks, CancellationToken cancellationToken);
+ public static bool WaitAll(Task[] tasks, TimeSpan timeout);
+ public static int WaitAny(params Task[] tasks);
+ public static int WaitAny(Task[] tasks, int millisecondsTimeout);
+ public static int WaitAny(Task[] tasks, int millisecondsTimeout, CancellationToken cancellationToken);
+ public static int WaitAny(Task[] tasks, CancellationToken cancellationToken);
+ public static int WaitAny(Task[] tasks, TimeSpan timeout);
+ public static Task WhenAll(IEnumerable<Task> tasks);
+ public static Task WhenAll(params Task[] tasks);
+ public static Task<TResult[]> WhenAll<TResult>(IEnumerable<Task<TResult>> tasks);
+ public static Task<TResult[]> WhenAll<TResult>(params Task<TResult>[] tasks);
+ public static Task<Task> WhenAny(IEnumerable<Task> tasks);
+ public static Task<Task> WhenAny(params Task[] tasks);
+ public static Task<Task<TResult>> WhenAny<TResult>(IEnumerable<Task<TResult>> tasks);
+ public static Task<Task<TResult>> WhenAny<TResult>(params Task<TResult>[] tasks);
+ public static YieldAwaitable Yield();
+ }
+ public class Task<TResult> : Task {
+ public Task(Func<object, TResult> function, object state);
+ public Task(Func<object, TResult> function, object state, CancellationToken cancellationToken);
+ public Task(Func<object, TResult> function, object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions);
+ public Task(Func<object, TResult> function, object state, TaskCreationOptions creationOptions);
+ public Task(Func<TResult> function);
+ public Task(Func<TResult> function, CancellationToken cancellationToken);
+ public Task(Func<TResult> function, CancellationToken cancellationToken, TaskCreationOptions creationOptions);
+ public Task(Func<TResult> function, TaskCreationOptions creationOptions);
+ public static new TaskFactory<TResult> Factory { get; }
+ public TResult Result { get; }
+ public new ConfiguredTaskAwaitable<TResult> ConfigureAwait(bool continueOnCapturedContext);
+ public Task ContinueWith(Action<Task<TResult>, object> continuationAction, object state);
+ public Task ContinueWith(Action<Task<TResult>, object> continuationAction, object state, CancellationToken cancellationToken);
+ public Task ContinueWith(Action<Task<TResult>, object> continuationAction, object state, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWith(Action<Task<TResult>, object> continuationAction, object state, TaskContinuationOptions continuationOptions);
+ public Task ContinueWith(Action<Task<TResult>, object> continuationAction, object state, TaskScheduler scheduler);
+ public Task ContinueWith(Action<Task<TResult>> continuationAction);
+ public Task ContinueWith(Action<Task<TResult>> continuationAction, CancellationToken cancellationToken);
+ public Task ContinueWith(Action<Task<TResult>> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWith(Action<Task<TResult>> continuationAction, TaskContinuationOptions continuationOptions);
+ public Task ContinueWith(Action<Task<TResult>> continuationAction, TaskScheduler scheduler);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, object, TNewResult> continuationFunction, object state);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, object, TNewResult> continuationFunction, object state, CancellationToken cancellationToken);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, object, TNewResult> continuationFunction, object state, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, object, TNewResult> continuationFunction, object state, TaskContinuationOptions continuationOptions);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, object, TNewResult> continuationFunction, object state, TaskScheduler scheduler);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, TNewResult> continuationFunction);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, TNewResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, TNewResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, TNewResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, TNewResult> continuationFunction, TaskScheduler scheduler);
+ public new TaskAwaiter<TResult> GetAwaiter();
+ }
+ public class TaskCanceledException : OperationCanceledException {
+ public TaskCanceledException();
+ public TaskCanceledException(string message);
+ public TaskCanceledException(string message, Exception innerException);
+ public TaskCanceledException(Task task);
+ public Task Task { get; }
+ }
+ public class TaskCompletionSource<TResult> {
+ public TaskCompletionSource();
+ public TaskCompletionSource(object state);
+ public TaskCompletionSource(object state, TaskCreationOptions creationOptions);
+ public TaskCompletionSource(TaskCreationOptions creationOptions);
+ public Task<TResult> Task { get; }
+ public void SetCanceled();
+ public void SetException(IEnumerable<Exception> exceptions);
+ public void SetException(Exception exception);
+ public void SetResult(TResult result);
+ public bool TrySetCanceled();
+ public bool TrySetCanceled(CancellationToken cancellationToken);
+ public bool TrySetException(IEnumerable<Exception> exceptions);
+ public bool TrySetException(Exception exception);
+ public bool TrySetResult(TResult result);
+ }
+ public enum TaskContinuationOptions {
+ AttachedToParent = 4,
+ DenyChildAttach = 8,
+ ExecuteSynchronously = 524288,
+ HideScheduler = 16,
+ LazyCancellation = 32,
+ LongRunning = 2,
+ None = 0,
+ NotOnCanceled = 262144,
+ NotOnFaulted = 131072,
+ NotOnRanToCompletion = 65536,
+ OnlyOnCanceled = 196608,
+ OnlyOnFaulted = 327680,
+ OnlyOnRanToCompletion = 393216,
+ PreferFairness = 1,
+ RunContinuationsAsynchronously = 64,
+ }
+ public enum TaskCreationOptions {
+ AttachedToParent = 4,
+ DenyChildAttach = 8,
+ HideScheduler = 16,
+ LongRunning = 2,
+ None = 0,
+ PreferFairness = 1,
+ RunContinuationsAsynchronously = 64,
+ }
+ public static class TaskExtensions {
+ public static Task Unwrap(this Task<Task> task);
+ public static Task<TResult> Unwrap<TResult>(this Task<Task<TResult>> task);
+ }
+ public class TaskFactory {
+ public TaskFactory();
+ public TaskFactory(CancellationToken cancellationToken);
+ public TaskFactory(CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public TaskFactory(TaskCreationOptions creationOptions, TaskContinuationOptions continuationOptions);
+ public TaskFactory(TaskScheduler scheduler);
+ public CancellationToken CancellationToken { get; }
+ public TaskContinuationOptions ContinuationOptions { get; }
+ public TaskCreationOptions CreationOptions { get; }
+ public TaskScheduler Scheduler { get; }
+ public Task ContinueWhenAll(Task[] tasks, Action<Task[]> continuationAction);
+ public Task ContinueWhenAll(Task[] tasks, Action<Task[]> continuationAction, CancellationToken cancellationToken);
+ public Task ContinueWhenAll(Task[] tasks, Action<Task[]> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWhenAll(Task[] tasks, Action<Task[]> continuationAction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>[]> continuationAction);
+ public Task ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>[]> continuationAction, CancellationToken cancellationToken);
+ public Task ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>[]> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>[]> continuationAction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWhenAll<TResult>(Task[] tasks, Func<Task[], TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAll<TResult>(Task[] tasks, Func<Task[], TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAll<TResult>(Task[] tasks, Func<Task[], TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAll<TResult>(Task[] tasks, Func<Task[], TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task ContinueWhenAny(Task[] tasks, Action<Task> continuationAction);
+ public Task ContinueWhenAny(Task[] tasks, Action<Task> continuationAction, CancellationToken cancellationToken);
+ public Task ContinueWhenAny(Task[] tasks, Action<Task> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWhenAny(Task[] tasks, Action<Task> continuationAction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>> continuationAction);
+ public Task ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>> continuationAction, CancellationToken cancellationToken);
+ public Task ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>> continuationAction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWhenAny<TResult>(Task[] tasks, Func<Task, TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAny<TResult>(Task[] tasks, Func<Task, TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAny<TResult>(Task[] tasks, Func<Task, TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAny<TResult>(Task[] tasks, Func<Task, TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task FromAsync(Func<AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, object state);
+ public Task FromAsync(Func<AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, object state, TaskCreationOptions creationOptions);
+ public Task FromAsync(IAsyncResult asyncResult, Action<IAsyncResult> endMethod);
+ public Task FromAsync(IAsyncResult asyncResult, Action<IAsyncResult> endMethod, TaskCreationOptions creationOptions);
+ public Task FromAsync(IAsyncResult asyncResult, Action<IAsyncResult> endMethod, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task<TResult> FromAsync<TArg1, TArg2, TArg3, TResult>(Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, TArg3 arg3, object state);
+ public Task<TResult> FromAsync<TArg1, TArg2, TArg3, TResult>(Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, TArg3 arg3, object state, TaskCreationOptions creationOptions);
+ public Task FromAsync<TArg1, TArg2, TArg3>(Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, TArg1 arg1, TArg2 arg2, TArg3 arg3, object state);
+ public Task FromAsync<TArg1, TArg2, TArg3>(Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, TArg1 arg1, TArg2 arg2, TArg3 arg3, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync<TArg1, TArg2, TResult>(Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, object state);
+ public Task<TResult> FromAsync<TArg1, TArg2, TResult>(Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, object state, TaskCreationOptions creationOptions);
+ public Task FromAsync<TArg1, TArg2>(Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, TArg1 arg1, TArg2 arg2, object state);
+ public Task FromAsync<TArg1, TArg2>(Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, TArg1 arg1, TArg2 arg2, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync<TArg1, TResult>(Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, object state);
+ public Task<TResult> FromAsync<TArg1, TResult>(Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, object state, TaskCreationOptions creationOptions);
+ public Task FromAsync<TArg1>(Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, TArg1 arg1, object state);
+ public Task FromAsync<TArg1>(Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, TArg1 arg1, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync<TResult>(Func<AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, object state);
+ public Task<TResult> FromAsync<TResult>(Func<AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync<TResult>(IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod);
+ public Task<TResult> FromAsync<TResult>(IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync<TResult>(IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task StartNew(Action action);
+ public Task StartNew(Action action, CancellationToken cancellationToken);
+ public Task StartNew(Action action, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task StartNew(Action action, TaskCreationOptions creationOptions);
+ public Task StartNew(Action<object> action, object state);
+ public Task StartNew(Action<object> action, object state, CancellationToken cancellationToken);
+ public Task StartNew(Action<object> action, object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task StartNew(Action<object> action, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> StartNew<TResult>(Func<object, TResult> function, object state);
+ public Task<TResult> StartNew<TResult>(Func<object, TResult> function, object state, CancellationToken cancellationToken);
+ public Task<TResult> StartNew<TResult>(Func<object, TResult> function, object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task<TResult> StartNew<TResult>(Func<object, TResult> function, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> StartNew<TResult>(Func<TResult> function);
+ public Task<TResult> StartNew<TResult>(Func<TResult> function, CancellationToken cancellationToken);
+ public Task<TResult> StartNew<TResult>(Func<TResult> function, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task<TResult> StartNew<TResult>(Func<TResult> function, TaskCreationOptions creationOptions);
+ }
+ public class TaskFactory<TResult> {
+ public TaskFactory();
+ public TaskFactory(CancellationToken cancellationToken);
+ public TaskFactory(CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public TaskFactory(TaskCreationOptions creationOptions, TaskContinuationOptions continuationOptions);
+ public TaskFactory(TaskScheduler scheduler);
+ public CancellationToken CancellationToken { get; }
+ public TaskContinuationOptions ContinuationOptions { get; }
+ public TaskCreationOptions CreationOptions { get; }
+ public TaskScheduler Scheduler { get; }
+ public Task<TResult> ContinueWhenAll(Task[] tasks, Func<Task[], TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAll(Task[] tasks, Func<Task[], TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAll(Task[] tasks, Func<Task[], TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAll(Task[] tasks, Func<Task[], TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWhenAny(Task[] tasks, Func<Task, TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAny(Task[] tasks, Func<Task, TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAny(Task[] tasks, Func<Task, TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAny(Task[] tasks, Func<Task, TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> FromAsync(Func<AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, object state);
+ public Task<TResult> FromAsync(Func<AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync(IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod);
+ public Task<TResult> FromAsync(IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync(IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task<TResult> FromAsync<TArg1, TArg2, TArg3>(Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, TArg3 arg3, object state);
+ public Task<TResult> FromAsync<TArg1, TArg2, TArg3>(Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, TArg3 arg3, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync<TArg1, TArg2>(Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, object state);
+ public Task<TResult> FromAsync<TArg1, TArg2>(Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync<TArg1>(Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, object state);
+ public Task<TResult> FromAsync<TArg1>(Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> StartNew(Func<object, TResult> function, object state);
+ public Task<TResult> StartNew(Func<object, TResult> function, object state, CancellationToken cancellationToken);
+ public Task<TResult> StartNew(Func<object, TResult> function, object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task<TResult> StartNew(Func<object, TResult> function, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> StartNew(Func<TResult> function);
+ public Task<TResult> StartNew(Func<TResult> function, CancellationToken cancellationToken);
+ public Task<TResult> StartNew(Func<TResult> function, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task<TResult> StartNew(Func<TResult> function, TaskCreationOptions creationOptions);
+ }
+ public abstract class TaskScheduler {
+ protected TaskScheduler();
+ public static TaskScheduler Current { get; }
+ public static TaskScheduler Default { get; }
+ public int Id { get; }
+ public virtual int MaximumConcurrencyLevel { get; }
+ public static event EventHandler<UnobservedTaskExceptionEventArgs> UnobservedTaskException;
+ public static TaskScheduler FromCurrentSynchronizationContext();
+ protected abstract IEnumerable<Task> GetScheduledTasks();
+ protected internal abstract void QueueTask(Task task);
+ protected internal virtual bool TryDequeue(Task task);
+ protected bool TryExecuteTask(Task task);
+ protected abstract bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued);
+ }
+ public class TaskSchedulerException : Exception {
+ public TaskSchedulerException();
+ public TaskSchedulerException(Exception innerException);
+ public TaskSchedulerException(string message);
+ public TaskSchedulerException(string message, Exception innerException);
+ }
+ public enum TaskStatus {
+ Canceled = 6,
+ Created = 0,
+ Faulted = 7,
+ RanToCompletion = 5,
+ Running = 3,
+ WaitingForActivation = 1,
+ WaitingForChildrenToComplete = 4,
+ WaitingToRun = 2,
+ }
+ public class UnobservedTaskExceptionEventArgs : EventArgs {
+ public UnobservedTaskExceptionEventArgs(AggregateException exception);
+ public AggregateException Exception { get; }
+ public bool Observed { get; }
+ public void SetObserved();
+ }
+ public struct ValueTask<TResult> : IEquatable<ValueTask<TResult>> {
+ public ValueTask(Task<TResult> task);
+ public ValueTask(TResult result);
+ public bool IsCanceled { get; }
+ public bool IsCompleted { get; }
+ public bool IsCompletedSuccessfully { get; }
+ public bool IsFaulted { get; }
+ public TResult Result { get; }
+ public Task<TResult> AsTask();
+ public ConfiguredValueTaskAwaitable<TResult> ConfigureAwait(bool continueOnCapturedContext);
+ public override bool Equals(object obj);
+ public bool Equals(ValueTask<TResult> other);
+ public ValueTaskAwaiter<TResult> GetAwaiter();
+ public override int GetHashCode();
+ public static bool operator ==(ValueTask<TResult> left, ValueTask<TResult> right);
+ public static bool operator !=(ValueTask<TResult> left, ValueTask<TResult> right);
+ public override string ToString();
+ }
+}
```
# System.Threading.Tasks
``` diff
+namespace System.Threading.Tasks {
+ public class ConcurrentExclusiveSchedulerPair {
+ public ConcurrentExclusiveSchedulerPair();
+ public ConcurrentExclusiveSchedulerPair(TaskScheduler taskScheduler);
+ public ConcurrentExclusiveSchedulerPair(TaskScheduler taskScheduler, int maxConcurrencyLevel);
+ public ConcurrentExclusiveSchedulerPair(TaskScheduler taskScheduler, int maxConcurrencyLevel, int maxItemsPerTask);
+ public Task Completion { get; }
+ public TaskScheduler ConcurrentScheduler { get; }
+ public TaskScheduler ExclusiveScheduler { get; }
+ public void Complete();
+ }
+ public static class Parallel {
+ public static ParallelLoopResult For(int fromInclusive, int toExclusive, Action<int, ParallelLoopState> body);
+ public static ParallelLoopResult For(int fromInclusive, int toExclusive, Action<int> body);
+ public static ParallelLoopResult For(int fromInclusive, int toExclusive, ParallelOptions parallelOptions, Action<int, ParallelLoopState> body);
+ public static ParallelLoopResult For(int fromInclusive, int toExclusive, ParallelOptions parallelOptions, Action<int> body);
+ public static ParallelLoopResult For(long fromInclusive, long toExclusive, Action<long, ParallelLoopState> body);
+ public static ParallelLoopResult For(long fromInclusive, long toExclusive, Action<long> body);
+ public static ParallelLoopResult For(long fromInclusive, long toExclusive, ParallelOptions parallelOptions, Action<long, ParallelLoopState> body);
+ public static ParallelLoopResult For(long fromInclusive, long toExclusive, ParallelOptions parallelOptions, Action<long> body);
+ public static ParallelLoopResult For<TLocal>(int fromInclusive, int toExclusive, Func<TLocal> localInit, Func<int, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult For<TLocal>(int fromInclusive, int toExclusive, ParallelOptions parallelOptions, Func<TLocal> localInit, Func<int, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult For<TLocal>(long fromInclusive, long toExclusive, Func<TLocal> localInit, Func<long, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult For<TLocal>(long fromInclusive, long toExclusive, ParallelOptions parallelOptions, Func<TLocal> localInit, Func<long, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(OrderablePartitioner<TSource> source, Func<TLocal> localInit, Func<TSource, ParallelLoopState, long, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(OrderablePartitioner<TSource> source, ParallelOptions parallelOptions, Func<TLocal> localInit, Func<TSource, ParallelLoopState, long, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(Partitioner<TSource> source, Func<TLocal> localInit, Func<TSource, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(Partitioner<TSource> source, ParallelOptions parallelOptions, Func<TLocal> localInit, Func<TSource, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(IEnumerable<TSource> source, Func<TLocal> localInit, Func<TSource, ParallelLoopState, long, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(IEnumerable<TSource> source, Func<TLocal> localInit, Func<TSource, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(IEnumerable<TSource> source, ParallelOptions parallelOptions, Func<TLocal> localInit, Func<TSource, ParallelLoopState, long, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource, TLocal>(IEnumerable<TSource> source, ParallelOptions parallelOptions, Func<TLocal> localInit, Func<TSource, ParallelLoopState, TLocal, TLocal> body, Action<TLocal> localFinally);
+ public static ParallelLoopResult ForEach<TSource>(OrderablePartitioner<TSource> source, Action<TSource, ParallelLoopState, long> body);
+ public static ParallelLoopResult ForEach<TSource>(OrderablePartitioner<TSource> source, ParallelOptions parallelOptions, Action<TSource, ParallelLoopState, long> body);
+ public static ParallelLoopResult ForEach<TSource>(Partitioner<TSource> source, Action<TSource, ParallelLoopState> body);
+ public static ParallelLoopResult ForEach<TSource>(Partitioner<TSource> source, Action<TSource> body);
+ public static ParallelLoopResult ForEach<TSource>(Partitioner<TSource> source, ParallelOptions parallelOptions, Action<TSource, ParallelLoopState> body);
+ public static ParallelLoopResult ForEach<TSource>(Partitioner<TSource> source, ParallelOptions parallelOptions, Action<TSource> body);
+ public static ParallelLoopResult ForEach<TSource>(IEnumerable<TSource> source, Action<TSource, ParallelLoopState, long> body);
+ public static ParallelLoopResult ForEach<TSource>(IEnumerable<TSource> source, Action<TSource, ParallelLoopState> body);
+ public static ParallelLoopResult ForEach<TSource>(IEnumerable<TSource> source, Action<TSource> body);
+ public static ParallelLoopResult ForEach<TSource>(IEnumerable<TSource> source, ParallelOptions parallelOptions, Action<TSource, ParallelLoopState, long> body);
+ public static ParallelLoopResult ForEach<TSource>(IEnumerable<TSource> source, ParallelOptions parallelOptions, Action<TSource, ParallelLoopState> body);
+ public static ParallelLoopResult ForEach<TSource>(IEnumerable<TSource> source, ParallelOptions parallelOptions, Action<TSource> body);
+ public static void Invoke(params Action[] actions);
+ public static void Invoke(ParallelOptions parallelOptions, params Action[] actions);
+ }
+ [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
+ public struct ParallelLoopResult {
+ public bool IsCompleted { get; }
+ public Nullable<long> LowestBreakIteration { get; }
+ }
+ public class ParallelLoopState {
+ public bool IsExceptional { get; }
+ public bool IsStopped { get; }
+ public Nullable<long> LowestBreakIteration { get; }
+ public bool ShouldExitCurrentIteration { get; }
+ public void Break();
+ public void Stop();
+ }
+ public class ParallelOptions {
+ public ParallelOptions();
+ public CancellationToken CancellationToken { get; set; }
+ public int MaxDegreeOfParallelism { get; set; }
+ public TaskScheduler TaskScheduler { get; set; }
+ }
+ public class Task : IAsyncResult {
+ public Task(Action action);
+ public Task(Action action, CancellationToken cancellationToken);
+ public Task(Action action, CancellationToken cancellationToken, TaskCreationOptions creationOptions);
+ public Task(Action action, TaskCreationOptions creationOptions);
+ public Task(Action<object> action, object state);
+ public Task(Action<object> action, object state, CancellationToken cancellationToken);
+ public Task(Action<object> action, object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions);
+ public Task(Action<object> action, object state, TaskCreationOptions creationOptions);
+ public object AsyncState { get; }
+ public static Task CompletedTask { get; }
+ public TaskCreationOptions CreationOptions { get; }
+ public static Nullable<int> CurrentId { get; }
+ public AggregateException Exception { get; }
+ public static TaskFactory Factory { get; }
+ public int Id { get; }
+ public bool IsCanceled { get; }
+ public bool IsCompleted { get; }
+ public bool IsFaulted { get; }
+ public TaskStatus Status { get; }
+ WaitHandle System.IAsyncResult.AsyncWaitHandle { get; }
+ bool System.IAsyncResult.CompletedSynchronously { get; }
+ public ConfiguredTaskAwaitable ConfigureAwait(bool continueOnCapturedContext);
+ public Task ContinueWith(Action<Task, object> continuationAction, object state);
+ public Task ContinueWith(Action<Task, object> continuationAction, object state, CancellationToken cancellationToken);
+ public Task ContinueWith(Action<Task, object> continuationAction, object state, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWith(Action<Task, object> continuationAction, object state, TaskContinuationOptions continuationOptions);
+ public Task ContinueWith(Action<Task, object> continuationAction, object state, TaskScheduler scheduler);
+ public Task ContinueWith(Action<Task> continuationAction);
+ public Task ContinueWith(Action<Task> continuationAction, CancellationToken cancellationToken);
+ public Task ContinueWith(Action<Task> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWith(Action<Task> continuationAction, TaskContinuationOptions continuationOptions);
+ public Task ContinueWith(Action<Task> continuationAction, TaskScheduler scheduler);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, object, TResult> continuationFunction, object state);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, object, TResult> continuationFunction, object state, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, object, TResult> continuationFunction, object state, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, object, TResult> continuationFunction, object state, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, object, TResult> continuationFunction, object state, TaskScheduler scheduler);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, TResult> continuationFunction);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWith<TResult>(Func<Task, TResult> continuationFunction, TaskScheduler scheduler);
+ public static Task Delay(int millisecondsDelay);
+ public static Task Delay(int millisecondsDelay, CancellationToken cancellationToken);
+ public static Task Delay(TimeSpan delay);
+ public static Task Delay(TimeSpan delay, CancellationToken cancellationToken);
+ public void Dispose();
+ protected virtual void Dispose(bool disposing);
+ public static Task FromCanceled(CancellationToken cancellationToken);
+ public static Task<TResult> FromCanceled<TResult>(CancellationToken cancellationToken);
+ public static Task FromException(Exception exception);
+ public static Task<TResult> FromException<TResult>(Exception exception);
+ public static Task<TResult> FromResult<TResult>(TResult result);
+ public TaskAwaiter GetAwaiter();
+ public static Task Run(Action action);
+ public static Task Run(Action action, CancellationToken cancellationToken);
+ public static Task Run(Func<Task> function);
+ public static Task Run(Func<Task> function, CancellationToken cancellationToken);
+ public static Task<TResult> Run<TResult>(Func<Task<TResult>> function);
+ public static Task<TResult> Run<TResult>(Func<Task<TResult>> function, CancellationToken cancellationToken);
+ public static Task<TResult> Run<TResult>(Func<TResult> function);
+ public static Task<TResult> Run<TResult>(Func<TResult> function, CancellationToken cancellationToken);
+ public void RunSynchronously();
+ public void RunSynchronously(TaskScheduler scheduler);
+ public void Start();
+ public void Start(TaskScheduler scheduler);
+ public void Wait();
+ public bool Wait(int millisecondsTimeout);
+ public bool Wait(int millisecondsTimeout, CancellationToken cancellationToken);
+ public void Wait(CancellationToken cancellationToken);
+ public bool Wait(TimeSpan timeout);
+ public static void WaitAll(params Task[] tasks);
+ public static bool WaitAll(Task[] tasks, int millisecondsTimeout);
+ public static bool WaitAll(Task[] tasks, int millisecondsTimeout, CancellationToken cancellationToken);
+ public static void WaitAll(Task[] tasks, CancellationToken cancellationToken);
+ public static bool WaitAll(Task[] tasks, TimeSpan timeout);
+ public static int WaitAny(params Task[] tasks);
+ public static int WaitAny(Task[] tasks, int millisecondsTimeout);
+ public static int WaitAny(Task[] tasks, int millisecondsTimeout, CancellationToken cancellationToken);
+ public static int WaitAny(Task[] tasks, CancellationToken cancellationToken);
+ public static int WaitAny(Task[] tasks, TimeSpan timeout);
+ public static Task WhenAll(IEnumerable<Task> tasks);
+ public static Task WhenAll(params Task[] tasks);
+ public static Task<TResult[]> WhenAll<TResult>(IEnumerable<Task<TResult>> tasks);
+ public static Task<TResult[]> WhenAll<TResult>(params Task<TResult>[] tasks);
+ public static Task<Task> WhenAny(IEnumerable<Task> tasks);
+ public static Task<Task> WhenAny(params Task[] tasks);
+ public static Task<Task<TResult>> WhenAny<TResult>(IEnumerable<Task<TResult>> tasks);
+ public static Task<Task<TResult>> WhenAny<TResult>(params Task<TResult>[] tasks);
+ public static YieldAwaitable Yield();
+ }
+ public class Task<TResult> : Task {
+ public Task(Func<object, TResult> function, object state);
+ public Task(Func<object, TResult> function, object state, CancellationToken cancellationToken);
+ public Task(Func<object, TResult> function, object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions);
+ public Task(Func<object, TResult> function, object state, TaskCreationOptions creationOptions);
+ public Task(Func<TResult> function);
+ public Task(Func<TResult> function, CancellationToken cancellationToken);
+ public Task(Func<TResult> function, CancellationToken cancellationToken, TaskCreationOptions creationOptions);
+ public Task(Func<TResult> function, TaskCreationOptions creationOptions);
+ public static new TaskFactory<TResult> Factory { get; }
+ public TResult Result { get; }
+ public new ConfiguredTaskAwaitable<TResult> ConfigureAwait(bool continueOnCapturedContext);
+ public Task ContinueWith(Action<Task<TResult>, object> continuationAction, object state);
+ public Task ContinueWith(Action<Task<TResult>, object> continuationAction, object state, CancellationToken cancellationToken);
+ public Task ContinueWith(Action<Task<TResult>, object> continuationAction, object state, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWith(Action<Task<TResult>, object> continuationAction, object state, TaskContinuationOptions continuationOptions);
+ public Task ContinueWith(Action<Task<TResult>, object> continuationAction, object state, TaskScheduler scheduler);
+ public Task ContinueWith(Action<Task<TResult>> continuationAction);
+ public Task ContinueWith(Action<Task<TResult>> continuationAction, CancellationToken cancellationToken);
+ public Task ContinueWith(Action<Task<TResult>> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWith(Action<Task<TResult>> continuationAction, TaskContinuationOptions continuationOptions);
+ public Task ContinueWith(Action<Task<TResult>> continuationAction, TaskScheduler scheduler);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, object, TNewResult> continuationFunction, object state);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, object, TNewResult> continuationFunction, object state, CancellationToken cancellationToken);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, object, TNewResult> continuationFunction, object state, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, object, TNewResult> continuationFunction, object state, TaskContinuationOptions continuationOptions);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, object, TNewResult> continuationFunction, object state, TaskScheduler scheduler);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, TNewResult> continuationFunction);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, TNewResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, TNewResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, TNewResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task<TNewResult> ContinueWith<TNewResult>(Func<Task<TResult>, TNewResult> continuationFunction, TaskScheduler scheduler);
+ public new TaskAwaiter<TResult> GetAwaiter();
+ }
+ public class TaskCanceledException : OperationCanceledException {
+ public TaskCanceledException();
+ public TaskCanceledException(string message);
+ public TaskCanceledException(string message, Exception innerException);
+ public TaskCanceledException(Task task);
+ public Task Task { get; }
+ }
+ public class TaskCompletionSource<TResult> {
+ public TaskCompletionSource();
+ public TaskCompletionSource(object state);
+ public TaskCompletionSource(object state, TaskCreationOptions creationOptions);
+ public TaskCompletionSource(TaskCreationOptions creationOptions);
+ public Task<TResult> Task { get; }
+ public void SetCanceled();
+ public void SetException(IEnumerable<Exception> exceptions);
+ public void SetException(Exception exception);
+ public void SetResult(TResult result);
+ public bool TrySetCanceled();
+ public bool TrySetCanceled(CancellationToken cancellationToken);
+ public bool TrySetException(IEnumerable<Exception> exceptions);
+ public bool TrySetException(Exception exception);
+ public bool TrySetResult(TResult result);
+ }
+ public enum TaskContinuationOptions {
+ AttachedToParent = 4,
+ DenyChildAttach = 8,
+ ExecuteSynchronously = 524288,
+ HideScheduler = 16,
+ LazyCancellation = 32,
+ LongRunning = 2,
+ None = 0,
+ NotOnCanceled = 262144,
+ NotOnFaulted = 131072,
+ NotOnRanToCompletion = 65536,
+ OnlyOnCanceled = 196608,
+ OnlyOnFaulted = 327680,
+ OnlyOnRanToCompletion = 393216,
+ PreferFairness = 1,
+ RunContinuationsAsynchronously = 64,
+ }
+ public enum TaskCreationOptions {
+ AttachedToParent = 4,
+ DenyChildAttach = 8,
+ HideScheduler = 16,
+ LongRunning = 2,
+ None = 0,
+ PreferFairness = 1,
+ RunContinuationsAsynchronously = 64,
+ }
+ public static class TaskExtensions {
+ public static Task Unwrap(this Task<Task> task);
+ public static Task<TResult> Unwrap<TResult>(this Task<Task<TResult>> task);
+ }
+ public class TaskFactory {
+ public TaskFactory();
+ public TaskFactory(CancellationToken cancellationToken);
+ public TaskFactory(CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public TaskFactory(TaskCreationOptions creationOptions, TaskContinuationOptions continuationOptions);
+ public TaskFactory(TaskScheduler scheduler);
+ public CancellationToken CancellationToken { get; }
+ public TaskContinuationOptions ContinuationOptions { get; }
+ public TaskCreationOptions CreationOptions { get; }
+ public TaskScheduler Scheduler { get; }
+ public Task ContinueWhenAll(Task[] tasks, Action<Task[]> continuationAction);
+ public Task ContinueWhenAll(Task[] tasks, Action<Task[]> continuationAction, CancellationToken cancellationToken);
+ public Task ContinueWhenAll(Task[] tasks, Action<Task[]> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWhenAll(Task[] tasks, Action<Task[]> continuationAction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>[]> continuationAction);
+ public Task ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>[]> continuationAction, CancellationToken cancellationToken);
+ public Task ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>[]> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>[]> continuationAction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWhenAll<TResult>(Task[] tasks, Func<Task[], TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAll<TResult>(Task[] tasks, Func<Task[], TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAll<TResult>(Task[] tasks, Func<Task[], TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAll<TResult>(Task[] tasks, Func<Task[], TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task ContinueWhenAny(Task[] tasks, Action<Task> continuationAction);
+ public Task ContinueWhenAny(Task[] tasks, Action<Task> continuationAction, CancellationToken cancellationToken);
+ public Task ContinueWhenAny(Task[] tasks, Action<Task> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWhenAny(Task[] tasks, Action<Task> continuationAction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>> continuationAction);
+ public Task ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>> continuationAction, CancellationToken cancellationToken);
+ public Task ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>> continuationAction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>> continuationAction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWhenAny<TResult>(Task[] tasks, Func<Task, TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAny<TResult>(Task[] tasks, Func<Task, TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAny<TResult>(Task[] tasks, Func<Task, TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAny<TResult>(Task[] tasks, Func<Task, TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task FromAsync(Func<AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, object state);
+ public Task FromAsync(Func<AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, object state, TaskCreationOptions creationOptions);
+ public Task FromAsync(IAsyncResult asyncResult, Action<IAsyncResult> endMethod);
+ public Task FromAsync(IAsyncResult asyncResult, Action<IAsyncResult> endMethod, TaskCreationOptions creationOptions);
+ public Task FromAsync(IAsyncResult asyncResult, Action<IAsyncResult> endMethod, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task<TResult> FromAsync<TArg1, TArg2, TArg3, TResult>(Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, TArg3 arg3, object state);
+ public Task<TResult> FromAsync<TArg1, TArg2, TArg3, TResult>(Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, TArg3 arg3, object state, TaskCreationOptions creationOptions);
+ public Task FromAsync<TArg1, TArg2, TArg3>(Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, TArg1 arg1, TArg2 arg2, TArg3 arg3, object state);
+ public Task FromAsync<TArg1, TArg2, TArg3>(Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, TArg1 arg1, TArg2 arg2, TArg3 arg3, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync<TArg1, TArg2, TResult>(Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, object state);
+ public Task<TResult> FromAsync<TArg1, TArg2, TResult>(Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, object state, TaskCreationOptions creationOptions);
+ public Task FromAsync<TArg1, TArg2>(Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, TArg1 arg1, TArg2 arg2, object state);
+ public Task FromAsync<TArg1, TArg2>(Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, TArg1 arg1, TArg2 arg2, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync<TArg1, TResult>(Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, object state);
+ public Task<TResult> FromAsync<TArg1, TResult>(Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, object state, TaskCreationOptions creationOptions);
+ public Task FromAsync<TArg1>(Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, TArg1 arg1, object state);
+ public Task FromAsync<TArg1>(Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Action<IAsyncResult> endMethod, TArg1 arg1, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync<TResult>(Func<AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, object state);
+ public Task<TResult> FromAsync<TResult>(Func<AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync<TResult>(IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod);
+ public Task<TResult> FromAsync<TResult>(IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync<TResult>(IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task StartNew(Action action);
+ public Task StartNew(Action action, CancellationToken cancellationToken);
+ public Task StartNew(Action action, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task StartNew(Action action, TaskCreationOptions creationOptions);
+ public Task StartNew(Action<object> action, object state);
+ public Task StartNew(Action<object> action, object state, CancellationToken cancellationToken);
+ public Task StartNew(Action<object> action, object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task StartNew(Action<object> action, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> StartNew<TResult>(Func<object, TResult> function, object state);
+ public Task<TResult> StartNew<TResult>(Func<object, TResult> function, object state, CancellationToken cancellationToken);
+ public Task<TResult> StartNew<TResult>(Func<object, TResult> function, object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task<TResult> StartNew<TResult>(Func<object, TResult> function, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> StartNew<TResult>(Func<TResult> function);
+ public Task<TResult> StartNew<TResult>(Func<TResult> function, CancellationToken cancellationToken);
+ public Task<TResult> StartNew<TResult>(Func<TResult> function, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task<TResult> StartNew<TResult>(Func<TResult> function, TaskCreationOptions creationOptions);
+ }
+ public class TaskFactory<TResult> {
+ public TaskFactory();
+ public TaskFactory(CancellationToken cancellationToken);
+ public TaskFactory(CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public TaskFactory(TaskCreationOptions creationOptions, TaskContinuationOptions continuationOptions);
+ public TaskFactory(TaskScheduler scheduler);
+ public CancellationToken CancellationToken { get; }
+ public TaskContinuationOptions ContinuationOptions { get; }
+ public TaskCreationOptions CreationOptions { get; }
+ public TaskScheduler Scheduler { get; }
+ public Task<TResult> ContinueWhenAll(Task[] tasks, Func<Task[], TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAll(Task[] tasks, Func<Task[], TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAll(Task[] tasks, Func<Task[], TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAll(Task[] tasks, Func<Task[], TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>[], TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWhenAny(Task[] tasks, Func<Task, TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAny(Task[] tasks, Func<Task, TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAny(Task[] tasks, Func<Task, TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAny(Task[] tasks, Func<Task, TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction, CancellationToken cancellationToken);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction, CancellationToken cancellationToken, TaskContinuationOptions continuationOptions, TaskScheduler scheduler);
+ public Task<TResult> ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[] tasks, Func<Task<TAntecedentResult>, TResult> continuationFunction, TaskContinuationOptions continuationOptions);
+ public Task<TResult> FromAsync(Func<AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, object state);
+ public Task<TResult> FromAsync(Func<AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync(IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod);
+ public Task<TResult> FromAsync(IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync(IAsyncResult asyncResult, Func<IAsyncResult, TResult> endMethod, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task<TResult> FromAsync<TArg1, TArg2, TArg3>(Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, TArg3 arg3, object state);
+ public Task<TResult> FromAsync<TArg1, TArg2, TArg3>(Func<TArg1, TArg2, TArg3, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, TArg3 arg3, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync<TArg1, TArg2>(Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, object state);
+ public Task<TResult> FromAsync<TArg1, TArg2>(Func<TArg1, TArg2, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, TArg2 arg2, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> FromAsync<TArg1>(Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, object state);
+ public Task<TResult> FromAsync<TArg1>(Func<TArg1, AsyncCallback, object, IAsyncResult> beginMethod, Func<IAsyncResult, TResult> endMethod, TArg1 arg1, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> StartNew(Func<object, TResult> function, object state);
+ public Task<TResult> StartNew(Func<object, TResult> function, object state, CancellationToken cancellationToken);
+ public Task<TResult> StartNew(Func<object, TResult> function, object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task<TResult> StartNew(Func<object, TResult> function, object state, TaskCreationOptions creationOptions);
+ public Task<TResult> StartNew(Func<TResult> function);
+ public Task<TResult> StartNew(Func<TResult> function, CancellationToken cancellationToken);
+ public Task<TResult> StartNew(Func<TResult> function, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler);
+ public Task<TResult> StartNew(Func<TResult> function, TaskCreationOptions creationOptions);
+ }
+ public abstract class TaskScheduler {
+ protected TaskScheduler();
+ public static TaskScheduler Current { get; }
+ public static TaskScheduler Default { get; }
+ public int Id { get; }
+ public virtual int MaximumConcurrencyLevel { get; }
+ public static event EventHandler<UnobservedTaskExceptionEventArgs> UnobservedTaskException;
+ public static TaskScheduler FromCurrentSynchronizationContext();
+ protected abstract IEnumerable<Task> GetScheduledTasks();
+ protected internal abstract void QueueTask(Task task);
+ protected internal virtual bool TryDequeue(Task task);
+ protected bool TryExecuteTask(Task task);
+ protected abstract bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued);
+ }
+ public class TaskSchedulerException : Exception {
+ public TaskSchedulerException();
+ public TaskSchedulerException(Exception innerException);
+ public TaskSchedulerException(string message);
+ public TaskSchedulerException(string message, Exception innerException);
+ }
+ public enum TaskStatus {
+ Canceled = 6,
+ Created = 0,
+ Faulted = 7,
+ RanToCompletion = 5,
+ Running = 3,
+ WaitingForActivation = 1,
+ WaitingForChildrenToComplete = 4,
+ WaitingToRun = 2,
+ }
+ public class UnobservedTaskExceptionEventArgs : EventArgs {
+ public UnobservedTaskExceptionEventArgs(AggregateException exception);
+ public AggregateException Exception { get; }
+ public bool Observed { get; }
+ public void SetObserved();
+ }
+ public struct ValueTask<TResult> : IEquatable<ValueTask<TResult>> {
+ public ValueTask(Task<TResult> task);
+ public ValueTask(TResult result);
+ public bool IsCanceled { get; }
+ public bool IsCompleted { get; }
+ public bool IsCompletedSuccessfully { get; }
+ public bool IsFaulted { get; }
+ public TResult Result { get; }
+ public Task<TResult> AsTask();
+ public ConfiguredValueTaskAwaitable<TResult> ConfigureAwait(bool continueOnCapturedContext);
+ public override bool Equals(object obj);
+ public bool Equals(ValueTask<TResult> other);
+ public ValueTaskAwaiter<TResult> GetAwaiter();
+ public override int GetHashCode();
+ public static bool operator ==(ValueTask<TResult> left, ValueTask<TResult> right);
+ public static bool operator !=(ValueTask<TResult> left, ValueTask<TResult> right);
+ public override string ToString();
+ }
+}
```

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,12 @@
# System.Windows.Input
``` diff
+namespace System.Windows.Input {
+ public interface ICommand {
+ event EventHandler CanExecuteChanged;
+ bool CanExecute(object parameter);
+ void Execute(object parameter);
+ }
+}
```
# System.Windows.Input
``` diff
+namespace System.Windows.Input {
+ public interface ICommand {
+ event EventHandler CanExecuteChanged;
+ bool CanExecute(object parameter);
+ void Execute(object parameter);
+ }
+}
```

View File

@@ -1,372 +1,372 @@
# System.Xml.Linq
``` diff
+namespace System.Xml.Linq {
+ public static class Extensions {
+ public static IEnumerable<XElement> Ancestors<T>(this IEnumerable<T> source) where T : XNode;
+ public static IEnumerable<XElement> Ancestors<T>(this IEnumerable<T> source, XName name) where T : XNode;
+ public static IEnumerable<XElement> AncestorsAndSelf(this IEnumerable<XElement> source);
+ public static IEnumerable<XElement> AncestorsAndSelf(this IEnumerable<XElement> source, XName name);
+ public static IEnumerable<XAttribute> Attributes(this IEnumerable<XElement> source);
+ public static IEnumerable<XAttribute> Attributes(this IEnumerable<XElement> source, XName name);
+ public static IEnumerable<XNode> DescendantNodes<T>(this IEnumerable<T> source) where T : XContainer;
+ public static IEnumerable<XNode> DescendantNodesAndSelf(this IEnumerable<XElement> source);
+ public static IEnumerable<XElement> Descendants<T>(this IEnumerable<T> source) where T : XContainer;
+ public static IEnumerable<XElement> Descendants<T>(this IEnumerable<T> source, XName name) where T : XContainer;
+ public static IEnumerable<XElement> DescendantsAndSelf(this IEnumerable<XElement> source);
+ public static IEnumerable<XElement> DescendantsAndSelf(this IEnumerable<XElement> source, XName name);
+ public static IEnumerable<XElement> Elements<T>(this IEnumerable<T> source) where T : XContainer;
+ public static IEnumerable<XElement> Elements<T>(this IEnumerable<T> source, XName name) where T : XContainer;
+ public static IEnumerable<T> InDocumentOrder<T>(this IEnumerable<T> source) where T : XNode;
+ public static IEnumerable<XNode> Nodes<T>(this IEnumerable<T> source) where T : XContainer;
+ public static void Remove(this IEnumerable<XAttribute> source);
+ public static void Remove<T>(this IEnumerable<T> source) where T : XNode;
+ }
+ public enum LoadOptions {
+ None = 0,
+ PreserveWhitespace = 1,
+ SetBaseUri = 2,
+ SetLineInfo = 4,
+ }
+ public enum ReaderOptions {
+ None = 0,
+ OmitDuplicateNamespaces = 1,
+ }
+ public enum SaveOptions {
+ DisableFormatting = 1,
+ None = 0,
+ OmitDuplicateNamespaces = 2,
+ }
+ public class XAttribute : XObject {
+ public XAttribute(XAttribute other);
+ public XAttribute(XName name, object value);
+ public static IEnumerable<XAttribute> EmptySequence { get; }
+ public bool IsNamespaceDeclaration { get; }
+ public XName Name { get; }
+ public XAttribute NextAttribute { get; }
+ public override XmlNodeType NodeType { get; }
+ public XAttribute PreviousAttribute { get; }
+ public string Value { get; set; }
+ public static explicit operator bool (XAttribute attribute);
+ public static explicit operator DateTime (XAttribute attribute);
+ public static explicit operator DateTimeOffset (XAttribute attribute);
+ public static explicit operator Decimal (XAttribute attribute);
+ public static explicit operator double (XAttribute attribute);
+ public static explicit operator Guid (XAttribute attribute);
+ public static explicit operator int (XAttribute attribute);
+ public static explicit operator long (XAttribute attribute);
+ public static explicit operator Nullable<bool> (XAttribute attribute);
+ public static explicit operator Nullable<DateTime> (XAttribute attribute);
+ public static explicit operator Nullable<DateTimeOffset> (XAttribute attribute);
+ public static explicit operator Nullable<Decimal> (XAttribute attribute);
+ public static explicit operator Nullable<double> (XAttribute attribute);
+ public static explicit operator Nullable<Guid> (XAttribute attribute);
+ public static explicit operator Nullable<int> (XAttribute attribute);
+ public static explicit operator Nullable<long> (XAttribute attribute);
+ public static explicit operator Nullable<float> (XAttribute attribute);
+ public static explicit operator Nullable<TimeSpan> (XAttribute attribute);
+ public static explicit operator Nullable<uint> (XAttribute attribute);
+ public static explicit operator Nullable<ulong> (XAttribute attribute);
+ public static explicit operator float (XAttribute attribute);
+ public static explicit operator string (XAttribute attribute);
+ public static explicit operator TimeSpan (XAttribute attribute);
+ public static explicit operator uint (XAttribute attribute);
+ public static explicit operator ulong (XAttribute attribute);
+ public void Remove();
+ public void SetValue(object value);
+ public override string ToString();
+ }
+ public class XCData : XText {
+ public XCData(string value);
+ public XCData(XCData other);
+ public override XmlNodeType NodeType { get; }
+ public override void WriteTo(XmlWriter writer);
+ }
+ public class XComment : XNode {
+ public XComment(string value);
+ public XComment(XComment other);
+ public override XmlNodeType NodeType { get; }
+ public string Value { get; set; }
+ public override void WriteTo(XmlWriter writer);
+ }
+ public abstract class XContainer : XNode {
+ public XNode FirstNode { get; }
+ public XNode LastNode { get; }
+ public void Add(object content);
+ public void Add(params object[] content);
+ public void AddFirst(object content);
+ public void AddFirst(params object[] content);
+ public XmlWriter CreateWriter();
+ public IEnumerable<XNode> DescendantNodes();
+ public IEnumerable<XElement> Descendants();
+ public IEnumerable<XElement> Descendants(XName name);
+ public XElement Element(XName name);
+ public IEnumerable<XElement> Elements();
+ public IEnumerable<XElement> Elements(XName name);
+ public IEnumerable<XNode> Nodes();
+ public void RemoveNodes();
+ public void ReplaceNodes(object content);
+ public void ReplaceNodes(params object[] content);
+ }
+ public class XDeclaration {
+ public XDeclaration(string version, string encoding, string standalone);
+ public XDeclaration(XDeclaration other);
+ public string Encoding { get; set; }
+ public string Standalone { get; set; }
+ public string Version { get; set; }
+ public override string ToString();
+ }
+ public class XDocument : XContainer {
+ public XDocument();
+ public XDocument(params object[] content);
+ public XDocument(XDeclaration declaration, params object[] content);
+ public XDocument(XDocument other);
+ public XDeclaration Declaration { get; set; }
+ public XDocumentType DocumentType { get; }
+ public override XmlNodeType NodeType { get; }
+ public XElement Root { get; }
+ public static XDocument Load(Stream stream);
+ public static XDocument Load(Stream stream, LoadOptions options);
+ public static XDocument Load(TextReader textReader);
+ public static XDocument Load(TextReader textReader, LoadOptions options);
+ public static XDocument Load(string uri);
+ public static XDocument Load(string uri, LoadOptions options);
+ public static XDocument Load(XmlReader reader);
+ public static XDocument Load(XmlReader reader, LoadOptions options);
+ public static XDocument Parse(string text);
+ public static XDocument Parse(string text, LoadOptions options);
+ public void Save(Stream stream);
+ public void Save(Stream stream, SaveOptions options);
+ public void Save(TextWriter textWriter);
+ public void Save(TextWriter textWriter, SaveOptions options);
+ public void Save(XmlWriter writer);
+ public override void WriteTo(XmlWriter writer);
+ }
+ public class XDocumentType : XNode {
+ public XDocumentType(string name, string publicId, string systemId, string internalSubset);
+ public XDocumentType(XDocumentType other);
+ public string InternalSubset { get; set; }
+ public string Name { get; set; }
+ public override XmlNodeType NodeType { get; }
+ public string PublicId { get; set; }
+ public string SystemId { get; set; }
+ public override void WriteTo(XmlWriter writer);
+ }
+ public class XElement : XContainer, IXmlSerializable {
+ public XElement(XElement other);
+ public XElement(XName name);
+ public XElement(XName name, object content);
+ public XElement(XName name, params object[] content);
+ public XElement(XStreamingElement other);
+ public static IEnumerable<XElement> EmptySequence { get; }
+ public XAttribute FirstAttribute { get; }
+ public bool HasAttributes { get; }
+ public bool HasElements { get; }
+ public bool IsEmpty { get; }
+ public XAttribute LastAttribute { get; }
+ public XName Name { get; set; }
+ public override XmlNodeType NodeType { get; }
+ public string Value { get; set; }
+ public IEnumerable<XElement> AncestorsAndSelf();
+ public IEnumerable<XElement> AncestorsAndSelf(XName name);
+ public XAttribute Attribute(XName name);
+ public IEnumerable<XAttribute> Attributes();
+ public IEnumerable<XAttribute> Attributes(XName name);
+ public IEnumerable<XNode> DescendantNodesAndSelf();
+ public IEnumerable<XElement> DescendantsAndSelf();
+ public IEnumerable<XElement> DescendantsAndSelf(XName name);
+ public XNamespace GetDefaultNamespace();
+ public XNamespace GetNamespaceOfPrefix(string prefix);
+ public string GetPrefixOfNamespace(XNamespace ns);
+ public static XElement Load(Stream stream);
+ public static XElement Load(Stream stream, LoadOptions options);
+ public static XElement Load(TextReader textReader);
+ public static XElement Load(TextReader textReader, LoadOptions options);
+ public static XElement Load(string uri);
+ public static XElement Load(string uri, LoadOptions options);
+ public static XElement Load(XmlReader reader);
+ public static XElement Load(XmlReader reader, LoadOptions options);
+ public static explicit operator bool (XElement element);
+ public static explicit operator DateTime (XElement element);
+ public static explicit operator DateTimeOffset (XElement element);
+ public static explicit operator Decimal (XElement element);
+ public static explicit operator double (XElement element);
+ public static explicit operator Guid (XElement element);
+ public static explicit operator int (XElement element);
+ public static explicit operator long (XElement element);
+ public static explicit operator Nullable<bool> (XElement element);
+ public static explicit operator Nullable<DateTime> (XElement element);
+ public static explicit operator Nullable<DateTimeOffset> (XElement element);
+ public static explicit operator Nullable<Decimal> (XElement element);
+ public static explicit operator Nullable<double> (XElement element);
+ public static explicit operator Nullable<Guid> (XElement element);
+ public static explicit operator Nullable<int> (XElement element);
+ public static explicit operator Nullable<long> (XElement element);
+ public static explicit operator Nullable<float> (XElement element);
+ public static explicit operator Nullable<TimeSpan> (XElement element);
+ public static explicit operator Nullable<uint> (XElement element);
+ public static explicit operator Nullable<ulong> (XElement element);
+ public static explicit operator float (XElement element);
+ public static explicit operator string (XElement element);
+ public static explicit operator TimeSpan (XElement element);
+ public static explicit operator uint (XElement element);
+ public static explicit operator ulong (XElement element);
+ public static XElement Parse(string text);
+ public static XElement Parse(string text, LoadOptions options);
+ public void RemoveAll();
+ public void RemoveAttributes();
+ public void ReplaceAll(object content);
+ public void ReplaceAll(params object[] content);
+ public void ReplaceAttributes(object content);
+ public void ReplaceAttributes(params object[] content);
+ public void Save(Stream stream);
+ public void Save(Stream stream, SaveOptions options);
+ public void Save(TextWriter textWriter);
+ public void Save(TextWriter textWriter, SaveOptions options);
+ public void Save(XmlWriter writer);
+ public void SetAttributeValue(XName name, object value);
+ public void SetElementValue(XName name, object value);
+ public void SetValue(object value);
+ XmlSchema System.Xml.Serialization.IXmlSerializable.GetSchema();
+ void System.Xml.Serialization.IXmlSerializable.ReadXml(XmlReader reader);
+ void System.Xml.Serialization.IXmlSerializable.WriteXml(XmlWriter writer);
+ public override void WriteTo(XmlWriter writer);
+ }
+ public sealed class XName : IEquatable<XName> {
+ public string LocalName { get; }
+ public XNamespace Namespace { get; }
+ public string NamespaceName { get; }
+ public override bool Equals(object obj);
+ public static XName Get(string expandedName);
+ public static XName Get(string localName, string namespaceName);
+ public override int GetHashCode();
+ public static bool operator ==(XName left, XName right);
+ public static implicit operator XName (string expandedName);
+ public static bool operator !=(XName left, XName right);
+ bool System.IEquatable<System.Xml.Linq.XName>.Equals(XName other);
+ public override string ToString();
+ }
+ public sealed class XNamespace {
+ public string NamespaceName { get; }
+ public static XNamespace None { get; }
+ public static XNamespace Xml { get; }
+ public static XNamespace Xmlns { get; }
+ public override bool Equals(object obj);
+ public static XNamespace Get(string namespaceName);
+ public override int GetHashCode();
+ public XName GetName(string localName);
+ public static XName operator +(XNamespace ns, string localName);
+ public static bool operator ==(XNamespace left, XNamespace right);
+ public static implicit operator XNamespace (string namespaceName);
+ public static bool operator !=(XNamespace left, XNamespace right);
+ public override string ToString();
+ }
+ public abstract class XNode : XObject {
+ public static XNodeDocumentOrderComparer DocumentOrderComparer { get; }
+ public static XNodeEqualityComparer EqualityComparer { get; }
+ public XNode NextNode { get; }
+ public XNode PreviousNode { get; }
+ public void AddAfterSelf(object content);
+ public void AddAfterSelf(params object[] content);
+ public void AddBeforeSelf(object content);
+ public void AddBeforeSelf(params object[] content);
+ public IEnumerable<XElement> Ancestors();
+ public IEnumerable<XElement> Ancestors(XName name);
+ public static int CompareDocumentOrder(XNode n1, XNode n2);
+ public XmlReader CreateReader();
+ public XmlReader CreateReader(ReaderOptions readerOptions);
+ public static bool DeepEquals(XNode n1, XNode n2);
+ public IEnumerable<XElement> ElementsAfterSelf();
+ public IEnumerable<XElement> ElementsAfterSelf(XName name);
+ public IEnumerable<XElement> ElementsBeforeSelf();
+ public IEnumerable<XElement> ElementsBeforeSelf(XName name);
+ public bool IsAfter(XNode node);
+ public bool IsBefore(XNode node);
+ public IEnumerable<XNode> NodesAfterSelf();
+ public IEnumerable<XNode> NodesBeforeSelf();
+ public static XNode ReadFrom(XmlReader reader);
+ public void Remove();
+ public void ReplaceWith(object content);
+ public void ReplaceWith(params object[] content);
+ public override string ToString();
+ public string ToString(SaveOptions options);
+ public abstract void WriteTo(XmlWriter writer);
+ }
+ public sealed class XNodeDocumentOrderComparer : IComparer, IComparer<XNode> {
+ public XNodeDocumentOrderComparer();
+ public int Compare(XNode x, XNode y);
+ int System.Collections.IComparer.Compare(object x, object y);
+ }
+ public sealed class XNodeEqualityComparer : IEqualityComparer, IEqualityComparer<XNode> {
+ public XNodeEqualityComparer();
+ public bool Equals(XNode x, XNode y);
+ public int GetHashCode(XNode obj);
+ bool System.Collections.IEqualityComparer.Equals(object x, object y);
+ int System.Collections.IEqualityComparer.GetHashCode(object obj);
+ }
+ public abstract class XObject : IXmlLineInfo {
+ public string BaseUri { get; }
+ public XDocument Document { get; }
+ public abstract XmlNodeType NodeType { get; }
+ public XElement Parent { get; }
+ int System.Xml.IXmlLineInfo.LineNumber { get; }
+ int System.Xml.IXmlLineInfo.LinePosition { get; }
+ public event EventHandler<XObjectChangeEventArgs> Changed;
+ public event EventHandler<XObjectChangeEventArgs> Changing;
+ public void AddAnnotation(object annotation);
+ public object Annotation(Type type);
+ public T Annotation<T>() where T : class;
+ public IEnumerable<object> Annotations(Type type);
+ public IEnumerable<T> Annotations<T>() where T : class;
+ public void RemoveAnnotations(Type type);
+ public void RemoveAnnotations<T>() where T : class;
+ bool System.Xml.IXmlLineInfo.HasLineInfo();
+ }
+ public enum XObjectChange {
+ Add = 0,
+ Name = 2,
+ Remove = 1,
+ Value = 3,
+ }
+ public class XObjectChangeEventArgs : EventArgs {
+ public static readonly XObjectChangeEventArgs Add;
+ public static readonly XObjectChangeEventArgs Name;
+ public static readonly XObjectChangeEventArgs Remove;
+ public static readonly XObjectChangeEventArgs Value;
+ public XObjectChangeEventArgs(XObjectChange objectChange);
+ public XObjectChange ObjectChange { get; }
+ }
+ public class XProcessingInstruction : XNode {
+ public XProcessingInstruction(string target, string data);
+ public XProcessingInstruction(XProcessingInstruction other);
+ public string Data { get; set; }
+ public override XmlNodeType NodeType { get; }
+ public string Target { get; set; }
+ public override void WriteTo(XmlWriter writer);
+ }
+ public class XStreamingElement {
+ public XStreamingElement(XName name);
+ public XStreamingElement(XName name, object content);
+ public XStreamingElement(XName name, params object[] content);
+ public XName Name { get; set; }
+ public void Add(object content);
+ public void Add(params object[] content);
+ public void Save(Stream stream);
+ public void Save(Stream stream, SaveOptions options);
+ public void Save(TextWriter textWriter);
+ public void Save(TextWriter textWriter, SaveOptions options);
+ public void Save(XmlWriter writer);
+ public override string ToString();
+ public string ToString(SaveOptions options);
+ public void WriteTo(XmlWriter writer);
+ }
+ public class XText : XNode {
+ public XText(string value);
+ public XText(XText other);
+ public override XmlNodeType NodeType { get; }
+ public string Value { get; set; }
+ public override void WriteTo(XmlWriter writer);
+ }
+}
```
# System.Xml.Linq
``` diff
+namespace System.Xml.Linq {
+ public static class Extensions {
+ public static IEnumerable<XElement> Ancestors<T>(this IEnumerable<T> source) where T : XNode;
+ public static IEnumerable<XElement> Ancestors<T>(this IEnumerable<T> source, XName name) where T : XNode;
+ public static IEnumerable<XElement> AncestorsAndSelf(this IEnumerable<XElement> source);
+ public static IEnumerable<XElement> AncestorsAndSelf(this IEnumerable<XElement> source, XName name);
+ public static IEnumerable<XAttribute> Attributes(this IEnumerable<XElement> source);
+ public static IEnumerable<XAttribute> Attributes(this IEnumerable<XElement> source, XName name);
+ public static IEnumerable<XNode> DescendantNodes<T>(this IEnumerable<T> source) where T : XContainer;
+ public static IEnumerable<XNode> DescendantNodesAndSelf(this IEnumerable<XElement> source);
+ public static IEnumerable<XElement> Descendants<T>(this IEnumerable<T> source) where T : XContainer;
+ public static IEnumerable<XElement> Descendants<T>(this IEnumerable<T> source, XName name) where T : XContainer;
+ public static IEnumerable<XElement> DescendantsAndSelf(this IEnumerable<XElement> source);
+ public static IEnumerable<XElement> DescendantsAndSelf(this IEnumerable<XElement> source, XName name);
+ public static IEnumerable<XElement> Elements<T>(this IEnumerable<T> source) where T : XContainer;
+ public static IEnumerable<XElement> Elements<T>(this IEnumerable<T> source, XName name) where T : XContainer;
+ public static IEnumerable<T> InDocumentOrder<T>(this IEnumerable<T> source) where T : XNode;
+ public static IEnumerable<XNode> Nodes<T>(this IEnumerable<T> source) where T : XContainer;
+ public static void Remove(this IEnumerable<XAttribute> source);
+ public static void Remove<T>(this IEnumerable<T> source) where T : XNode;
+ }
+ public enum LoadOptions {
+ None = 0,
+ PreserveWhitespace = 1,
+ SetBaseUri = 2,
+ SetLineInfo = 4,
+ }
+ public enum ReaderOptions {
+ None = 0,
+ OmitDuplicateNamespaces = 1,
+ }
+ public enum SaveOptions {
+ DisableFormatting = 1,
+ None = 0,
+ OmitDuplicateNamespaces = 2,
+ }
+ public class XAttribute : XObject {
+ public XAttribute(XAttribute other);
+ public XAttribute(XName name, object value);
+ public static IEnumerable<XAttribute> EmptySequence { get; }
+ public bool IsNamespaceDeclaration { get; }
+ public XName Name { get; }
+ public XAttribute NextAttribute { get; }
+ public override XmlNodeType NodeType { get; }
+ public XAttribute PreviousAttribute { get; }
+ public string Value { get; set; }
+ public static explicit operator bool (XAttribute attribute);
+ public static explicit operator DateTime (XAttribute attribute);
+ public static explicit operator DateTimeOffset (XAttribute attribute);
+ public static explicit operator Decimal (XAttribute attribute);
+ public static explicit operator double (XAttribute attribute);
+ public static explicit operator Guid (XAttribute attribute);
+ public static explicit operator int (XAttribute attribute);
+ public static explicit operator long (XAttribute attribute);
+ public static explicit operator Nullable<bool> (XAttribute attribute);
+ public static explicit operator Nullable<DateTime> (XAttribute attribute);
+ public static explicit operator Nullable<DateTimeOffset> (XAttribute attribute);
+ public static explicit operator Nullable<Decimal> (XAttribute attribute);
+ public static explicit operator Nullable<double> (XAttribute attribute);
+ public static explicit operator Nullable<Guid> (XAttribute attribute);
+ public static explicit operator Nullable<int> (XAttribute attribute);
+ public static explicit operator Nullable<long> (XAttribute attribute);
+ public static explicit operator Nullable<float> (XAttribute attribute);
+ public static explicit operator Nullable<TimeSpan> (XAttribute attribute);
+ public static explicit operator Nullable<uint> (XAttribute attribute);
+ public static explicit operator Nullable<ulong> (XAttribute attribute);
+ public static explicit operator float (XAttribute attribute);
+ public static explicit operator string (XAttribute attribute);
+ public static explicit operator TimeSpan (XAttribute attribute);
+ public static explicit operator uint (XAttribute attribute);
+ public static explicit operator ulong (XAttribute attribute);
+ public void Remove();
+ public void SetValue(object value);
+ public override string ToString();
+ }
+ public class XCData : XText {
+ public XCData(string value);
+ public XCData(XCData other);
+ public override XmlNodeType NodeType { get; }
+ public override void WriteTo(XmlWriter writer);
+ }
+ public class XComment : XNode {
+ public XComment(string value);
+ public XComment(XComment other);
+ public override XmlNodeType NodeType { get; }
+ public string Value { get; set; }
+ public override void WriteTo(XmlWriter writer);
+ }
+ public abstract class XContainer : XNode {
+ public XNode FirstNode { get; }
+ public XNode LastNode { get; }
+ public void Add(object content);
+ public void Add(params object[] content);
+ public void AddFirst(object content);
+ public void AddFirst(params object[] content);
+ public XmlWriter CreateWriter();
+ public IEnumerable<XNode> DescendantNodes();
+ public IEnumerable<XElement> Descendants();
+ public IEnumerable<XElement> Descendants(XName name);
+ public XElement Element(XName name);
+ public IEnumerable<XElement> Elements();
+ public IEnumerable<XElement> Elements(XName name);
+ public IEnumerable<XNode> Nodes();
+ public void RemoveNodes();
+ public void ReplaceNodes(object content);
+ public void ReplaceNodes(params object[] content);
+ }
+ public class XDeclaration {
+ public XDeclaration(string version, string encoding, string standalone);
+ public XDeclaration(XDeclaration other);
+ public string Encoding { get; set; }
+ public string Standalone { get; set; }
+ public string Version { get; set; }
+ public override string ToString();
+ }
+ public class XDocument : XContainer {
+ public XDocument();
+ public XDocument(params object[] content);
+ public XDocument(XDeclaration declaration, params object[] content);
+ public XDocument(XDocument other);
+ public XDeclaration Declaration { get; set; }
+ public XDocumentType DocumentType { get; }
+ public override XmlNodeType NodeType { get; }
+ public XElement Root { get; }
+ public static XDocument Load(Stream stream);
+ public static XDocument Load(Stream stream, LoadOptions options);
+ public static XDocument Load(TextReader textReader);
+ public static XDocument Load(TextReader textReader, LoadOptions options);
+ public static XDocument Load(string uri);
+ public static XDocument Load(string uri, LoadOptions options);
+ public static XDocument Load(XmlReader reader);
+ public static XDocument Load(XmlReader reader, LoadOptions options);
+ public static XDocument Parse(string text);
+ public static XDocument Parse(string text, LoadOptions options);
+ public void Save(Stream stream);
+ public void Save(Stream stream, SaveOptions options);
+ public void Save(TextWriter textWriter);
+ public void Save(TextWriter textWriter, SaveOptions options);
+ public void Save(XmlWriter writer);
+ public override void WriteTo(XmlWriter writer);
+ }
+ public class XDocumentType : XNode {
+ public XDocumentType(string name, string publicId, string systemId, string internalSubset);
+ public XDocumentType(XDocumentType other);
+ public string InternalSubset { get; set; }
+ public string Name { get; set; }
+ public override XmlNodeType NodeType { get; }
+ public string PublicId { get; set; }
+ public string SystemId { get; set; }
+ public override void WriteTo(XmlWriter writer);
+ }
+ public class XElement : XContainer, IXmlSerializable {
+ public XElement(XElement other);
+ public XElement(XName name);
+ public XElement(XName name, object content);
+ public XElement(XName name, params object[] content);
+ public XElement(XStreamingElement other);
+ public static IEnumerable<XElement> EmptySequence { get; }
+ public XAttribute FirstAttribute { get; }
+ public bool HasAttributes { get; }
+ public bool HasElements { get; }
+ public bool IsEmpty { get; }
+ public XAttribute LastAttribute { get; }
+ public XName Name { get; set; }
+ public override XmlNodeType NodeType { get; }
+ public string Value { get; set; }
+ public IEnumerable<XElement> AncestorsAndSelf();
+ public IEnumerable<XElement> AncestorsAndSelf(XName name);
+ public XAttribute Attribute(XName name);
+ public IEnumerable<XAttribute> Attributes();
+ public IEnumerable<XAttribute> Attributes(XName name);
+ public IEnumerable<XNode> DescendantNodesAndSelf();
+ public IEnumerable<XElement> DescendantsAndSelf();
+ public IEnumerable<XElement> DescendantsAndSelf(XName name);
+ public XNamespace GetDefaultNamespace();
+ public XNamespace GetNamespaceOfPrefix(string prefix);
+ public string GetPrefixOfNamespace(XNamespace ns);
+ public static XElement Load(Stream stream);
+ public static XElement Load(Stream stream, LoadOptions options);
+ public static XElement Load(TextReader textReader);
+ public static XElement Load(TextReader textReader, LoadOptions options);
+ public static XElement Load(string uri);
+ public static XElement Load(string uri, LoadOptions options);
+ public static XElement Load(XmlReader reader);
+ public static XElement Load(XmlReader reader, LoadOptions options);
+ public static explicit operator bool (XElement element);
+ public static explicit operator DateTime (XElement element);
+ public static explicit operator DateTimeOffset (XElement element);
+ public static explicit operator Decimal (XElement element);
+ public static explicit operator double (XElement element);
+ public static explicit operator Guid (XElement element);
+ public static explicit operator int (XElement element);
+ public static explicit operator long (XElement element);
+ public static explicit operator Nullable<bool> (XElement element);
+ public static explicit operator Nullable<DateTime> (XElement element);
+ public static explicit operator Nullable<DateTimeOffset> (XElement element);
+ public static explicit operator Nullable<Decimal> (XElement element);
+ public static explicit operator Nullable<double> (XElement element);
+ public static explicit operator Nullable<Guid> (XElement element);
+ public static explicit operator Nullable<int> (XElement element);
+ public static explicit operator Nullable<long> (XElement element);
+ public static explicit operator Nullable<float> (XElement element);
+ public static explicit operator Nullable<TimeSpan> (XElement element);
+ public static explicit operator Nullable<uint> (XElement element);
+ public static explicit operator Nullable<ulong> (XElement element);
+ public static explicit operator float (XElement element);
+ public static explicit operator string (XElement element);
+ public static explicit operator TimeSpan (XElement element);
+ public static explicit operator uint (XElement element);
+ public static explicit operator ulong (XElement element);
+ public static XElement Parse(string text);
+ public static XElement Parse(string text, LoadOptions options);
+ public void RemoveAll();
+ public void RemoveAttributes();
+ public void ReplaceAll(object content);
+ public void ReplaceAll(params object[] content);
+ public void ReplaceAttributes(object content);
+ public void ReplaceAttributes(params object[] content);
+ public void Save(Stream stream);
+ public void Save(Stream stream, SaveOptions options);
+ public void Save(TextWriter textWriter);
+ public void Save(TextWriter textWriter, SaveOptions options);
+ public void Save(XmlWriter writer);
+ public void SetAttributeValue(XName name, object value);
+ public void SetElementValue(XName name, object value);
+ public void SetValue(object value);
+ XmlSchema System.Xml.Serialization.IXmlSerializable.GetSchema();
+ void System.Xml.Serialization.IXmlSerializable.ReadXml(XmlReader reader);
+ void System.Xml.Serialization.IXmlSerializable.WriteXml(XmlWriter writer);
+ public override void WriteTo(XmlWriter writer);
+ }
+ public sealed class XName : IEquatable<XName> {
+ public string LocalName { get; }
+ public XNamespace Namespace { get; }
+ public string NamespaceName { get; }
+ public override bool Equals(object obj);
+ public static XName Get(string expandedName);
+ public static XName Get(string localName, string namespaceName);
+ public override int GetHashCode();
+ public static bool operator ==(XName left, XName right);
+ public static implicit operator XName (string expandedName);
+ public static bool operator !=(XName left, XName right);
+ bool System.IEquatable<System.Xml.Linq.XName>.Equals(XName other);
+ public override string ToString();
+ }
+ public sealed class XNamespace {
+ public string NamespaceName { get; }
+ public static XNamespace None { get; }
+ public static XNamespace Xml { get; }
+ public static XNamespace Xmlns { get; }
+ public override bool Equals(object obj);
+ public static XNamespace Get(string namespaceName);
+ public override int GetHashCode();
+ public XName GetName(string localName);
+ public static XName operator +(XNamespace ns, string localName);
+ public static bool operator ==(XNamespace left, XNamespace right);
+ public static implicit operator XNamespace (string namespaceName);
+ public static bool operator !=(XNamespace left, XNamespace right);
+ public override string ToString();
+ }
+ public abstract class XNode : XObject {
+ public static XNodeDocumentOrderComparer DocumentOrderComparer { get; }
+ public static XNodeEqualityComparer EqualityComparer { get; }
+ public XNode NextNode { get; }
+ public XNode PreviousNode { get; }
+ public void AddAfterSelf(object content);
+ public void AddAfterSelf(params object[] content);
+ public void AddBeforeSelf(object content);
+ public void AddBeforeSelf(params object[] content);
+ public IEnumerable<XElement> Ancestors();
+ public IEnumerable<XElement> Ancestors(XName name);
+ public static int CompareDocumentOrder(XNode n1, XNode n2);
+ public XmlReader CreateReader();
+ public XmlReader CreateReader(ReaderOptions readerOptions);
+ public static bool DeepEquals(XNode n1, XNode n2);
+ public IEnumerable<XElement> ElementsAfterSelf();
+ public IEnumerable<XElement> ElementsAfterSelf(XName name);
+ public IEnumerable<XElement> ElementsBeforeSelf();
+ public IEnumerable<XElement> ElementsBeforeSelf(XName name);
+ public bool IsAfter(XNode node);
+ public bool IsBefore(XNode node);
+ public IEnumerable<XNode> NodesAfterSelf();
+ public IEnumerable<XNode> NodesBeforeSelf();
+ public static XNode ReadFrom(XmlReader reader);
+ public void Remove();
+ public void ReplaceWith(object content);
+ public void ReplaceWith(params object[] content);
+ public override string ToString();
+ public string ToString(SaveOptions options);
+ public abstract void WriteTo(XmlWriter writer);
+ }
+ public sealed class XNodeDocumentOrderComparer : IComparer, IComparer<XNode> {
+ public XNodeDocumentOrderComparer();
+ public int Compare(XNode x, XNode y);
+ int System.Collections.IComparer.Compare(object x, object y);
+ }
+ public sealed class XNodeEqualityComparer : IEqualityComparer, IEqualityComparer<XNode> {
+ public XNodeEqualityComparer();
+ public bool Equals(XNode x, XNode y);
+ public int GetHashCode(XNode obj);
+ bool System.Collections.IEqualityComparer.Equals(object x, object y);
+ int System.Collections.IEqualityComparer.GetHashCode(object obj);
+ }
+ public abstract class XObject : IXmlLineInfo {
+ public string BaseUri { get; }
+ public XDocument Document { get; }
+ public abstract XmlNodeType NodeType { get; }
+ public XElement Parent { get; }
+ int System.Xml.IXmlLineInfo.LineNumber { get; }
+ int System.Xml.IXmlLineInfo.LinePosition { get; }
+ public event EventHandler<XObjectChangeEventArgs> Changed;
+ public event EventHandler<XObjectChangeEventArgs> Changing;
+ public void AddAnnotation(object annotation);
+ public object Annotation(Type type);
+ public T Annotation<T>() where T : class;
+ public IEnumerable<object> Annotations(Type type);
+ public IEnumerable<T> Annotations<T>() where T : class;
+ public void RemoveAnnotations(Type type);
+ public void RemoveAnnotations<T>() where T : class;
+ bool System.Xml.IXmlLineInfo.HasLineInfo();
+ }
+ public enum XObjectChange {
+ Add = 0,
+ Name = 2,
+ Remove = 1,
+ Value = 3,
+ }
+ public class XObjectChangeEventArgs : EventArgs {
+ public static readonly XObjectChangeEventArgs Add;
+ public static readonly XObjectChangeEventArgs Name;
+ public static readonly XObjectChangeEventArgs Remove;
+ public static readonly XObjectChangeEventArgs Value;
+ public XObjectChangeEventArgs(XObjectChange objectChange);
+ public XObjectChange ObjectChange { get; }
+ }
+ public class XProcessingInstruction : XNode {
+ public XProcessingInstruction(string target, string data);
+ public XProcessingInstruction(XProcessingInstruction other);
+ public string Data { get; set; }
+ public override XmlNodeType NodeType { get; }
+ public string Target { get; set; }
+ public override void WriteTo(XmlWriter writer);
+ }
+ public class XStreamingElement {
+ public XStreamingElement(XName name);
+ public XStreamingElement(XName name, object content);
+ public XStreamingElement(XName name, params object[] content);
+ public XName Name { get; set; }
+ public void Add(object content);
+ public void Add(params object[] content);
+ public void Save(Stream stream);
+ public void Save(Stream stream, SaveOptions options);
+ public void Save(TextWriter textWriter);
+ public void Save(TextWriter textWriter, SaveOptions options);
+ public void Save(XmlWriter writer);
+ public override string ToString();
+ public string ToString(SaveOptions options);
+ public void WriteTo(XmlWriter writer);
+ }
+ public class XText : XNode {
+ public XText(string value);
+ public XText(XText other);
+ public override XmlNodeType NodeType { get; }
+ public string Value { get; set; }
+ public override void WriteTo(XmlWriter writer);
+ }
+}
```

View File

@@ -1,13 +1,13 @@
# System.Xml.Schema
``` diff
+namespace System.Xml.Schema {
+ public class XmlSchema
+ public enum XmlSchemaForm {
+ None = 0,
+ Qualified = 1,
+ Unqualified = 2,
+ }
+}
```
# System.Xml.Schema
``` diff
+namespace System.Xml.Schema {
+ public class XmlSchema
+ public enum XmlSchemaForm {
+ None = 0,
+ Qualified = 1,
+ Unqualified = 2,
+ }
+}
```

Some files were not shown because too many files have changed in this diff Show More