Xamarin.iOS SDK API diff: 12.4.0 vs 12.8.0
Mono.Security.dll
Namespace Mono.Security.Interface
Type Changed: Mono.Security.Interface.IMonoSslStream
Added property:
public virtual bool CanRenegotiate { get; }
Added methods:
public virtual void AuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation);
public virtual void AuthenticateAsServer (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool checkCertificateRevocation);
public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool checkCertificateRevocation);
public virtual System.IAsyncResult BeginAuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation, System.AsyncCallback asyncCallback, object asyncState);
public virtual System.IAsyncResult BeginAuthenticateAsServer (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool checkCertificateRevocation, System.AsyncCallback asyncCallback, object asyncState);
public virtual System.Threading.Tasks.Task RenegotiateAsync (System.Threading.CancellationToken cancellationToken);
Type Changed: Mono.Security.Interface.MonoTlsSettings
Added properties:
public string[] ClientCertificateIssuers { get; set; }
public bool DisallowUnauthenticatedCertificateRequest { get; set; }
Namespace Mono.Xml
Type Changed: Mono.Xml.MiniParser
Type Changed: Mono.Xml.MiniParser.AttrListImpl
Added interfaces:
MiniParser.IAttrList
MiniParser.IMutableAttrList
Type Changed: Mono.Xml.MiniParser.HandlerAdapter
Added interface:
MiniParser.IHandler
Type Changed: Mono.Xml.MiniParser.IMutableAttrList
Added interface:
MiniParser.IAttrList
Type Changed: Mono.Xml.SecurityParser
Added interfaces:
MiniParser.IHandler
MiniParser.IReader
mscorlib.dll
Namespace System
Type Changed: System.AggregateException
Added property:
public override string Message { get; }
Type Changed: System.ArraySegment`1
Added properties:
public static System.ArraySegment<T> Empty { get; }
public T Item { get; set; }
Added methods:
public void CopyTo (System.ArraySegment<T> destination);
public void CopyTo (T[] destination);
public virtual void CopyTo (T[] destination, int destinationIndex);
public System.ArraySegment<Enumerator[T> GetEnumerator ();
public System.ArraySegment<T> Slice (int index);
public System.ArraySegment<T> Slice (int index, int count);
public T[] ToArray ();
public static System.ArraySegment<T> op_Implicit (T[] array);
Type Changed: System.BitConverter
Added methods:
public static float Int32BitsToSingle (int value);
public static int SingleToInt32Bits (float value);
public static int ToInt32 (System.ReadOnlySpan<byte> value);
public static uint ToUInt32 (System.ReadOnlySpan<byte> value);
public static ulong ToUInt64 (System.ReadOnlySpan<byte> value);
Type Changed: System.Boolean
Added methods:
public static bool Parse (System.ReadOnlySpan<char> value);
public bool TryFormat (System.Span<char> destination, out int charsWritten);
public static bool TryParse (System.ReadOnlySpan<char> value, out bool result);
Type Changed: System.Byte
Added methods:
public static byte Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> s, out byte result);
public static bool TryParse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider, out byte result);
Type Changed: System.Convert
Added methods:
public static string ToBase64String (System.ReadOnlySpan<byte> bytes, Base64FormattingOptions options);
public static bool TryFromBase64Chars (System.ReadOnlySpan<char> chars, System.Span<byte> bytes, out int bytesWritten);
public static bool TryFromBase64String (string s, System.Span<byte> bytes, out int bytesWritten);
public static bool TryToBase64Chars (System.ReadOnlySpan<byte> bytes, System.Span<char> chars, out int charsWritten, Base64FormattingOptions options);
Type Changed: System.Decimal
Added methods:
public static Decimal Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> s, out Decimal result);
public static bool TryParse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider, out Decimal result);
Type Changed: System.Double
Added methods:
public static bool IsNegative (double d);
public static bool IsNormal (double d);
public static bool IsSubnormal (double d);
public static double Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> s, out double result);
public static bool TryParse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider, out double result);
Type Changed: System.Guid
Added constructor:
public Guid (System.ReadOnlySpan<byte> b);
Added methods:
public static Guid Parse (System.ReadOnlySpan<char> input);
public static Guid ParseExact (System.ReadOnlySpan<char> input, System.ReadOnlySpan<char> format);
public bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format);
public static bool TryParse (System.ReadOnlySpan<char> input, out Guid result);
public static bool TryParseExact (System.ReadOnlySpan<char> input, System.ReadOnlySpan<char> format, out Guid result);
public bool TryWriteBytes (System.Span<byte> destination);
Type Changed: System.Int16
Added methods:
public static short Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> s, out short result);
public static bool TryParse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider, out short result);
Type Changed: System.Int32
Added methods:
public static int Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> s, out int result);
public static bool TryParse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider, out int result);
Type Changed: System.Int64
Added methods:
public static long Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> s, out long result);
public static bool TryParse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider, out long result);
Type Changed: System.Lazy`1
Added constructor:
public Lazy`1 (T value);
Type Changed: System.Math
Added methods:
public static byte Clamp (byte value, byte min, byte max);
public static Decimal Clamp (Decimal value, Decimal min, Decimal max);
public static double Clamp (double value, double min, double max);
public static short Clamp (short value, short min, short max);
public static int Clamp (int value, int min, int max);
public static long Clamp (long value, long min, long max);
public static sbyte Clamp (sbyte value, sbyte min, sbyte max);
public static float Clamp (float value, float min, float max);
public static ushort Clamp (ushort value, ushort min, ushort max);
public static uint Clamp (uint value, uint min, uint max);
public static ulong Clamp (ulong value, ulong min, ulong max);
Type Changed: System.SByte
Added methods:
public static sbyte Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> s, out sbyte result);
public static bool TryParse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider, out sbyte result);
Type Changed: System.Single
Added methods:
public static bool IsNegative (float f);
public static bool IsNormal (float f);
public static bool IsSubnormal (float f);
public static float Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> s, out float result);
public static bool TryParse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider, out float result);
Type Changed: System.String
Added constructor:
public String (System.ReadOnlySpan<char> value);
Added methods:
public static string Create<TState> (int length, TState state, System.Buffers.SpanAction<Char,TState> action);
public static System.ReadOnlySpan<char> op_Implicit (string value);
Type Changed: System.TimeSpan
Added methods:
public static TimeSpan op_Division (TimeSpan timeSpan, double divisor);
public static double op_Division (TimeSpan t1, TimeSpan t2);
Type Changed: System.UInt16
Added methods:
public static ushort Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> s, out ushort result);
public static bool TryParse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider, out ushort result);
Type Changed: System.UInt32
Added methods:
public static uint Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> s, out uint result);
public static bool TryParse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider, out uint result);
Type Changed: System.UInt64
Added methods:
public static ulong Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> s, out ulong result);
public static bool TryParse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style, IFormatProvider provider, out ulong result);
New Type: System.HashCode
public struct HashCode {
// methods
public void Add<T> (T value);
public void Add<T> (T value, System.Collections.Generic.IEqualityComparer<T> comparer);
public static int Combine<T1> (T1 value1);
public static int Combine<T1, T2> (T1 value1, T2 value2);
public static int Combine<T1, T2, T3> (T1 value1, T2 value2, T3 value3);
public static int Combine<T1, T2, T3, T4> (T1 value1, T2 value2, T3 value3, T4 value4);
public static int Combine<T1, T2, T3, T4, T5> (T1 value1, T2 value2, T3 value3, T4 value4, T5 value5);
public static int Combine<T1, T2, T3, T4, T5, T6> (T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6);
public static int Combine<T1, T2, T3, T4, T5, T6, T7> (T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7);
public static int Combine<T1, T2, T3, T4, T5, T6, T7, T8> (T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8);
[Obsolete ("HashCode is a mutable struct and should not be compared with other HashCodes.")]
public override bool Equals (object obj);
[Obsolete ("HashCode is a mutable struct and should not be compared with other HashCodes. Use ToHashCode to retrieve the computed hash code.")]
public override int GetHashCode ();
public int ToHashCode ();
}
New Type: System.MathF
public static class MathF {
// fields
public static const float E;
public static const float PI;
// methods
public static float Abs (float x);
public static float Acos (float x);
public static float Acosh (float x);
public static float Asin (float x);
public static float Asinh (float x);
public static float Atan (float x);
public static float Atan2 (float y, float x);
public static float Atanh (float x);
public static float Cbrt (float x);
public static float Ceiling (float x);
public static float Cos (float x);
public static float Cosh (float x);
public static float Exp (float x);
public static float Floor (float x);
public static float IEEERemainder (float x, float y);
public static float Log (float x);
public static float Log (float x, float y);
public static float Log10 (float x);
public static float Max (float x, float y);
public static float Min (float x, float y);
public static float Pow (float x, float y);
public static float Round (float x);
public static float Round (float x, int digits);
public static float Round (float x, MidpointRounding mode);
public static float Round (float x, int digits, MidpointRounding mode);
public static int Sign (float x);
public static float Sin (float x);
public static float Sinh (float x);
public static float Sqrt (float x);
public static float Tan (float x);
public static float Tanh (float x);
public static float Truncate (float x);
}
New Type: System.MemoryExtensions
public static class MemoryExtensions {
// methods
public static System.Memory<T> AsMemory<T> (this System.ArraySegment<T> segment);
public static System.ReadOnlyMemory<char> AsMemory (this string text);
public static System.Memory<T> AsMemory<T> (this T[] array);
public static System.Memory<T> AsMemory<T> (this System.ArraySegment<T> segment, int start);
public static System.ReadOnlyMemory<char> AsMemory (this string text, int start);
public static System.Memory<T> AsMemory<T> (this T[] array, int start);
public static System.Memory<T> AsMemory<T> (this System.ArraySegment<T> segment, int start, int length);
public static System.ReadOnlyMemory<char> AsMemory (this string text, int start, int length);
public static System.Memory<T> AsMemory<T> (this T[] array, int start, int length);
public static System.Span<T> AsSpan<T> (this System.ArraySegment<T> segment);
public static System.ReadOnlySpan<char> AsSpan (this string text);
public static System.Span<T> AsSpan<T> (this T[] array);
public static System.Span<T> AsSpan<T> (this System.ArraySegment<T> segment, int start);
public static System.ReadOnlySpan<char> AsSpan (this string text, int start);
public static System.Span<T> AsSpan<T> (this T[] array, int start);
public static System.Span<T> AsSpan<T> (this System.ArraySegment<T> segment, int start, int length);
public static System.ReadOnlySpan<char> AsSpan (this string text, int start, int length);
public static System.Span<T> AsSpan<T> (this T[] array, int start, int length);
public static int BinarySearch<T> (this System.ReadOnlySpan<T> span, System.IComparable<T> comparable);
public static int BinarySearch<T, TComparable> (this System.ReadOnlySpan<T> span, TComparable comparable);
public static int BinarySearch<T> (this System.Span<T> span, System.IComparable<T> comparable);
public static int BinarySearch<T, TComparable> (this System.Span<T> span, TComparable comparable);
public static int BinarySearch<T, TComparer> (this System.ReadOnlySpan<T> span, T value, TComparer comparer);
public static int BinarySearch<T, TComparer> (this System.Span<T> span, T value, TComparer comparer);
public static int CompareTo (this System.ReadOnlySpan<char> span, System.ReadOnlySpan<char> other, StringComparison comparisonType);
public static bool Contains (this System.ReadOnlySpan<char> span, System.ReadOnlySpan<char> value, StringComparison comparisonType);
public static void CopyTo<T> (this T[] source, System.Memory<T> destination);
public static void CopyTo<T> (this T[] source, System.Span<T> destination);
public static bool EndsWith<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> value);
public static bool EndsWith<T> (this System.Span<T> span, System.ReadOnlySpan<T> value);
public static bool EndsWith (this System.ReadOnlySpan<char> span, System.ReadOnlySpan<char> value, StringComparison comparisonType);
public static bool Equals (this System.ReadOnlySpan<char> span, System.ReadOnlySpan<char> other, StringComparison comparisonType);
public static int IndexOf<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> value);
public static int IndexOf<T> (this System.ReadOnlySpan<T> span, T value);
public static int IndexOf<T> (this System.Span<T> span, System.ReadOnlySpan<T> value);
public static int IndexOf<T> (this System.Span<T> span, T value);
public static int IndexOf (this System.ReadOnlySpan<char> span, System.ReadOnlySpan<char> value, StringComparison comparisonType);
public static int IndexOfAny<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> values);
public static int IndexOfAny<T> (this System.Span<T> span, System.ReadOnlySpan<T> values);
public static int IndexOfAny<T> (this System.ReadOnlySpan<T> span, T value0, T value1);
public static int IndexOfAny<T> (this System.Span<T> span, T value0, T value1);
public static int IndexOfAny<T> (this System.ReadOnlySpan<T> span, T value0, T value1, T value2);
public static int IndexOfAny<T> (this System.Span<T> span, T value0, T value1, T value2);
public static bool IsWhiteSpace (this System.ReadOnlySpan<char> span);
public static int LastIndexOf<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> value);
public static int LastIndexOf<T> (this System.ReadOnlySpan<T> span, T value);
public static int LastIndexOf<T> (this System.Span<T> span, System.ReadOnlySpan<T> value);
public static int LastIndexOf<T> (this System.Span<T> span, T value);
public static int LastIndexOfAny<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> values);
public static int LastIndexOfAny<T> (this System.Span<T> span, System.ReadOnlySpan<T> values);
public static int LastIndexOfAny<T> (this System.ReadOnlySpan<T> span, T value0, T value1);
public static int LastIndexOfAny<T> (this System.Span<T> span, T value0, T value1);
public static int LastIndexOfAny<T> (this System.ReadOnlySpan<T> span, T value0, T value1, T value2);
public static int LastIndexOfAny<T> (this System.Span<T> span, T value0, T value1, T value2);
public static bool Overlaps<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> other);
public static bool Overlaps<T> (this System.Span<T> span, System.ReadOnlySpan<T> other);
public static bool Overlaps<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> other, out int elementOffset);
public static bool Overlaps<T> (this System.Span<T> span, System.ReadOnlySpan<T> other, out int elementOffset);
public static void Reverse<T> (this System.Span<T> span);
public static int SequenceCompareTo<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> other);
public static int SequenceCompareTo<T> (this System.Span<T> span, System.ReadOnlySpan<T> other);
public static bool SequenceEqual<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> other);
public static bool SequenceEqual<T> (this System.Span<T> span, System.ReadOnlySpan<T> other);
public static bool StartsWith<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> value);
public static bool StartsWith<T> (this System.Span<T> span, System.ReadOnlySpan<T> value);
public static bool StartsWith (this System.ReadOnlySpan<char> span, System.ReadOnlySpan<char> value, StringComparison comparisonType);
public static int ToLower (this System.ReadOnlySpan<char> source, System.Span<char> destination, Globalization.CultureInfo culture);
public static int ToLowerInvariant (this System.ReadOnlySpan<char> source, System.Span<char> destination);
public static int ToUpper (this System.ReadOnlySpan<char> source, System.Span<char> destination, Globalization.CultureInfo culture);
public static int ToUpperInvariant (this System.ReadOnlySpan<char> source, System.Span<char> destination);
public static System.ReadOnlySpan<char> Trim (this System.ReadOnlySpan<char> span);
public static System.ReadOnlySpan<char> Trim (this System.ReadOnlySpan<char> span, char trimChar);
public static System.ReadOnlySpan<char> Trim (this System.ReadOnlySpan<char> span, System.ReadOnlySpan<char> trimChars);
public static System.ReadOnlySpan<char> TrimEnd (this System.ReadOnlySpan<char> span);
public static System.ReadOnlySpan<char> TrimEnd (this System.ReadOnlySpan<char> span, char trimChar);
public static System.ReadOnlySpan<char> TrimEnd (this System.ReadOnlySpan<char> span, System.ReadOnlySpan<char> trimChars);
public static System.ReadOnlySpan<char> TrimStart (this System.ReadOnlySpan<char> span);
public static System.ReadOnlySpan<char> TrimStart (this System.ReadOnlySpan<char> span, char trimChar);
public static System.ReadOnlySpan<char> TrimStart (this System.ReadOnlySpan<char> span, System.ReadOnlySpan<char> trimChars);
}
New Type: System.Memory`1
public struct Memory`1 {
// constructors
public Memory`1 (T[] array);
public Memory`1 (T[] array, int start, int length);
// properties
public static System.Memory<T> Empty { get; }
public bool IsEmpty { get; }
public int Length { get; }
public System.Span<T> Span { get; }
// methods
public void CopyTo (System.Memory<T> destination);
public bool Equals (System.Memory<T> other);
public override bool Equals (object obj);
public override int GetHashCode ();
public Buffers.MemoryHandle Pin ();
public System.Memory<T> Slice (int start);
public System.Memory<T> Slice (int start, int length);
public T[] ToArray ();
public override string ToString ();
public bool TryCopyTo (System.Memory<T> destination);
public static System.Memory<T> op_Implicit (System.ArraySegment<T> segment);
public static System.ReadOnlyMemory<T> op_Implicit (System.Memory<T> memory);
public static System.Memory<T> op_Implicit (T[] array);
}
New Type: System.ReadOnlyMemory`1
public struct ReadOnlyMemory`1 {
// constructors
public ReadOnlyMemory`1 (T[] array);
public ReadOnlyMemory`1 (T[] array, int start, int length);
// properties
public static System.ReadOnlyMemory<T> Empty { get; }
public bool IsEmpty { get; }
public int Length { get; }
public System.ReadOnlySpan<T> Span { get; }
// methods
public void CopyTo (System.Memory<T> destination);
public override bool Equals (object obj);
public bool Equals (System.ReadOnlyMemory<T> other);
public override int GetHashCode ();
public Buffers.MemoryHandle Pin ();
public System.ReadOnlyMemory<T> Slice (int start);
public System.ReadOnlyMemory<T> Slice (int start, int length);
public T[] ToArray ();
public override string ToString ();
public bool TryCopyTo (System.Memory<T> destination);
public static System.ReadOnlyMemory<T> op_Implicit (System.ArraySegment<T> segment);
public static System.ReadOnlyMemory<T> op_Implicit (T[] array);
}
New Type: System.ReadOnlySpan`1
public struct ReadOnlySpan`1 {
// constructors
public ReadOnlySpan`1 (T[] array);
public ReadOnlySpan`1 (void* pointer, int length);
public ReadOnlySpan`1 (T[] array, int start, int length);
// properties
public static System.ReadOnlySpan<T> Empty { get; }
public bool IsEmpty { get; }
public T& modreq(System.Runtime.InteropServices.InAttribute) Item { get; }
public int Length { get; }
// methods
public void CopyTo (System.Span<T> destination);
[Obsolete ("Equals() on ReadOnlySpan will always throw an exception. Use == instead.")]
public override bool Equals (object obj);
public System.ReadOnlySpan<Enumerator[T> GetEnumerator ();
[Obsolete ("GetHashCode() on ReadOnlySpan will always throw an exception.")]
public override int GetHashCode ();
public T& modreq(System.Runtime.InteropServices.InAttribute) GetPinnableReference ();
public System.ReadOnlySpan<T> Slice (int start);
public System.ReadOnlySpan<T> Slice (int start, int length);
public T[] ToArray ();
public override string ToString ();
public bool TryCopyTo (System.Span<T> destination);
public static bool op_Equality (System.ReadOnlySpan<T> left, System.ReadOnlySpan<T> right);
public static System.ReadOnlySpan<T> op_Implicit (System.ArraySegment<T> segment);
public static System.ReadOnlySpan<T> op_Implicit (T[] array);
public static bool op_Inequality (System.ReadOnlySpan<T> left, System.ReadOnlySpan<T> right);
// inner types
public struct Enumerator {
// properties
public T& modreq(System.Runtime.InteropServices.InAttribute) Current { get; }
// methods
public bool MoveNext ();
}
}
New Type: System.SequencePosition
public struct SequencePosition, System.IEquatable<SequencePosition> {
// constructors
public SequencePosition (object object, int integer);
// methods
public override bool Equals (object obj);
public virtual bool Equals (SequencePosition other);
public override int GetHashCode ();
public int GetInteger ();
public object GetObject ();
}
New Type: System.Span`1
public struct Span`1 {
// constructors
public Span`1 (T[] array);
public Span`1 (void* pointer, int length);
public Span`1 (T[] array, int start, int length);
// properties
public static System.Span<T> Empty { get; }
public bool IsEmpty { get; }
public T Item { get; }
public int Length { get; }
// methods
public void Clear ();
public void CopyTo (System.Span<T> destination);
[Obsolete ("Equals() on Span will always throw an exception. Use == instead.")]
public override bool Equals (object obj);
public void Fill (T value);
public System.Span<Enumerator[T> GetEnumerator ();
[Obsolete ("GetHashCode() on Span will always throw an exception.")]
public override int GetHashCode ();
public T GetPinnableReference ();
public System.Span<T> Slice (int start);
public System.Span<T> Slice (int start, int length);
public T[] ToArray ();
public override string ToString ();
public bool TryCopyTo (System.Span<T> destination);
public static bool op_Equality (System.Span<T> left, System.Span<T> right);
public static System.Span<T> op_Implicit (System.ArraySegment<T> segment);
public static System.ReadOnlySpan<T> op_Implicit (System.Span<T> span);
public static System.Span<T> op_Implicit (T[] array);
public static bool op_Inequality (System.Span<T> left, System.Span<T> right);
// inner types
public struct Enumerator {
// properties
public T Current { get; }
// methods
public bool MoveNext ();
}
}
Namespace System.Buffers
New Type: System.Buffers.ArrayPool`1
public abstract class ArrayPool`1 {
// constructors
protected ArrayPool`1 ();
// properties
public static System.Buffers.ArrayPool<T> Shared { get; }
// methods
public static System.Buffers.ArrayPool<T> Create ();
public static System.Buffers.ArrayPool<T> Create (int maxArrayLength, int maxArraysPerBucket);
public virtual T[] Rent (int minimumLength);
public virtual void Return (T[] array, bool clearArray);
}
New Type: System.Buffers.BuffersExtensions
public static class BuffersExtensions {
// methods
public static void CopyTo<T> (ref System.Buffers.ReadOnlySequence<T> source, System.Span<T> destination);
public static System.SequencePosition? PositionOf<T> (ref System.Buffers.ReadOnlySequence<T> source, T value);
public static T[] ToArray<T> (ref System.Buffers.ReadOnlySequence<T> sequence);
public static void Write<T> (this System.Buffers.IBufferWriter<T> writer, System.ReadOnlySpan<T> value);
}
New Type: System.Buffers.IBufferWriter`1
public interface IBufferWriter`1 {
// methods
public virtual void Advance (int count);
public virtual System.Memory<T> GetMemory (int sizeHint);
public virtual System.Span<T> GetSpan (int sizeHint);
}
New Type: System.Buffers.IMemoryOwner`1
public interface IMemoryOwner`1 : System.IDisposable {
// properties
public virtual System.Memory<T> Memory { get; }
}
New Type: System.Buffers.IPinnable
public interface IPinnable {
// methods
public virtual MemoryHandle Pin (int elementIndex);
public virtual void Unpin ();
}
New Type: System.Buffers.MemoryHandle
public struct MemoryHandle, System.IDisposable {
// constructors
public MemoryHandle (void* pointer, System.Runtime.InteropServices.GCHandle handle, IPinnable pinnable);
// properties
public void* Pointer { get; }
// methods
public virtual void Dispose ();
}
New Type: System.Buffers.MemoryManager`1
public abstract class MemoryManager`1 : System.Buffers.IMemoryOwner<T>, IPinnable, System.IDisposable {
// constructors
protected MemoryManager`1 ();
// properties
public virtual System.Memory<T> Memory { get; }
// methods
protected System.Memory<T> CreateMemory (int length);
protected System.Memory<T> CreateMemory (int start, int length);
protected virtual void Dispose (bool disposing);
public virtual System.Span<T> GetSpan ();
public virtual MemoryHandle Pin (int elementIndex);
protected virtual bool TryGetArray (out System.ArraySegment<T> segment);
public virtual void Unpin ();
}
New Type: System.Buffers.MemoryPool`1
public abstract class MemoryPool`1 : System.IDisposable {
// constructors
protected MemoryPool`1 ();
// properties
public virtual int MaxBufferSize { get; }
public static System.Buffers.MemoryPool<T> Shared { get; }
// methods
public virtual void Dispose ();
protected virtual void Dispose (bool disposing);
public virtual System.Buffers.IMemoryOwner<T> Rent (int minBufferSize);
}
New Type: System.Buffers.ReadOnlySequenceSegment`1
public abstract class ReadOnlySequenceSegment`1 {
// constructors
protected ReadOnlySequenceSegment`1 ();
// properties
protected System.ReadOnlyMemory<T> Memory { get; set; }
protected System.Buffers.ReadOnlySequenceSegment<T> Next { get; set; }
protected long RunningIndex { get; set; }
}
New Type: System.Buffers.ReadOnlySequence`1
public struct ReadOnlySequence`1 {
// constructors
public ReadOnlySequence`1 (System.ReadOnlyMemory<T> memory);
public ReadOnlySequence`1 (T[] array);
public ReadOnlySequence`1 (T[] array, int start, int length);
public ReadOnlySequence`1 (System.Buffers.ReadOnlySequenceSegment<T> startSegment, int startIndex, System.Buffers.ReadOnlySequenceSegment<T> endSegment, int endIndex);
// fields
public static System.Buffers.ReadOnlySequence<T> Empty;
// properties
public System.SequencePosition End { get; }
public System.ReadOnlyMemory<T> First { get; }
public bool IsEmpty { get; }
public bool IsSingleSegment { get; }
public long Length { get; }
public System.SequencePosition Start { get; }
// methods
public System.Buffers.ReadOnlySequence<Enumerator[T> GetEnumerator ();
public System.SequencePosition GetPosition (long offset);
public System.SequencePosition GetPosition (long offset, System.SequencePosition origin);
public System.Buffers.ReadOnlySequence<T> Slice (long start);
public System.Buffers.ReadOnlySequence<T> Slice (System.SequencePosition start);
public System.Buffers.ReadOnlySequence<T> Slice (int start, int length);
public System.Buffers.ReadOnlySequence<T> Slice (int start, System.SequencePosition end);
public System.Buffers.ReadOnlySequence<T> Slice (long start, long length);
public System.Buffers.ReadOnlySequence<T> Slice (long start, System.SequencePosition end);
public System.Buffers.ReadOnlySequence<T> Slice (System.SequencePosition start, int length);
public System.Buffers.ReadOnlySequence<T> Slice (System.SequencePosition start, long length);
public System.Buffers.ReadOnlySequence<T> Slice (System.SequencePosition start, System.SequencePosition end);
public override string ToString ();
public bool TryGet (ref System.SequencePosition position, out System.ReadOnlyMemory<T> memory, bool advance);
// inner types
public struct Enumerator {
// constructors
public ReadOnlySequence`1.Enumerator (ref System.Buffers.ReadOnlySequence<T> sequence);
// properties
public System.ReadOnlyMemory<T> Current { get; }
// methods
public bool MoveNext ();
}
}
New Type: System.Buffers.ReadOnlySpanAction`2
public sealed delegate ReadOnlySpanAction`2 : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
// constructors
public ReadOnlySpanAction`2 (object object, IntPtr method);
// methods
public virtual System.IAsyncResult BeginInvoke (System.ReadOnlySpan<T> span, TArg arg, System.AsyncCallback callback, object object);
public virtual void EndInvoke (System.IAsyncResult result);
public virtual void Invoke (System.ReadOnlySpan<T> span, TArg arg);
}
New Type: System.Buffers.SpanAction`2
public sealed delegate SpanAction`2 : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
// constructors
public SpanAction`2 (object object, IntPtr method);
// methods
public virtual System.IAsyncResult BeginInvoke (System.Span<T> span, TArg arg, System.AsyncCallback callback, object object);
public virtual void EndInvoke (System.IAsyncResult result);
public virtual void Invoke (System.Span<T> span, TArg arg);
}
New Type: System.Buffers.StandardFormat
public struct StandardFormat, System.IEquatable<StandardFormat> {
// constructors
public StandardFormat (char symbol, byte precision);
// fields
public static const byte MaxPrecision;
public static const byte NoPrecision;
// properties
public bool HasPrecision { get; }
public bool IsDefault { get; }
public byte Precision { get; }
public char Symbol { get; }
// methods
public virtual bool Equals (StandardFormat other);
public override bool Equals (object obj);
public override int GetHashCode ();
public static StandardFormat Parse (System.ReadOnlySpan<char> format);
public static StandardFormat Parse (string format);
public override string ToString ();
public static bool op_Equality (StandardFormat left, StandardFormat right);
public static StandardFormat op_Implicit (char symbol);
public static bool op_Inequality (StandardFormat left, StandardFormat right);
}
Namespace System.Collections.Generic
Type Changed: System.Collections.Generic.Dictionary`2
Added methods:
public void TrimExcess ();
public void TrimExcess (int capacity);
Namespace System.Globalization
Type Changed: System.Globalization.CharUnicodeInfo
Added method:
public static UnicodeCategory GetUnicodeCategory (int codePoint);
Namespace System.IO
Type Changed: System.IO.Path
Added method:
public static System.ReadOnlySpan<char> GetFileName (System.ReadOnlySpan<char> path);
Type Changed: System.IO.Stream
Added methods:
public virtual int Read (System.Span<byte> destination);
public virtual System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> destination, System.Threading.CancellationToken cancellationToken);
public virtual void Write (System.ReadOnlySpan<byte> source);
public virtual System.Threading.Tasks.ValueTask WriteAsync (System.ReadOnlyMemory<byte> source, System.Threading.CancellationToken cancellationToken);
Namespace System.Reflection
Type Changed: System.Reflection.ReflectionTypeLoadException
Added property:
public override string Message { get; }
Added method:
public override string ToString ();
Namespace System.Runtime.InteropServices
New Type: System.Runtime.InteropServices.MemoryMarshal
public static class MemoryMarshal {
// methods
public static System.ReadOnlySpan<byte> AsBytes<T> (System.ReadOnlySpan<T> span);
public static System.Span<byte> AsBytes<T> (System.Span<T> span);
public static System.Memory<T> AsMemory<T> (System.ReadOnlyMemory<T> memory);
public static System.ReadOnlySpan<TTo> Cast<TFrom, TTo> (System.ReadOnlySpan<TFrom> span);
public static System.Span<TTo> Cast<TFrom, TTo> (System.Span<TFrom> span);
public static System.Memory<T> CreateFromPinnedArray<T> (T[] array, int start, int length);
public static System.ReadOnlySpan<T> CreateReadOnlySpan<T> (ref T reference, int length);
public static System.Span<T> CreateSpan<T> (ref T reference, int length);
public static T GetReference<T> (System.ReadOnlySpan<T> span);
public static T GetReference<T> (System.Span<T> span);
public static T Read<T> (System.ReadOnlySpan<byte> source);
public static System.Collections.Generic.IEnumerable<T> ToEnumerable<T> (System.ReadOnlyMemory<T> memory);
public static bool TryGetArray<T> (System.ReadOnlyMemory<T> memory, out System.ArraySegment<T> segment);
public static bool TryGetMemoryManager<T, TManager> (System.ReadOnlyMemory<T> memory, out TManager manager);
public static bool TryGetMemoryManager<T, TManager> (System.ReadOnlyMemory<T> memory, out TManager manager, out int start, out int length);
public static bool TryGetString (System.ReadOnlyMemory<char> memory, out string text, out int start, out int length);
public static bool TryRead<T> (System.ReadOnlySpan<byte> source, out T value);
public static bool TryWrite<T> (System.Span<byte> destination, ref T value);
public static void Write<T> (System.Span<byte> destination, ref T value);
}
New Type: System.Runtime.InteropServices.SequenceMarshal
public static class SequenceMarshal {
// methods
public static bool TryGetArray<T> (System.Buffers.ReadOnlySequence<T> sequence, out System.ArraySegment<T> segment);
public static bool TryGetReadOnlyMemory<T> (System.Buffers.ReadOnlySequence<T> sequence, out System.ReadOnlyMemory<T> memory);
public static bool TryGetReadOnlySequenceSegment<T> (System.Buffers.ReadOnlySequence<T> sequence, out System.Buffers.ReadOnlySequenceSegment<T> startSegment, out int startIndex, out System.Buffers.ReadOnlySequenceSegment<T> endSegment, out int endIndex);
}
Namespace System.Security.Cryptography.X509Certificates
Type Changed: System.Security.Cryptography.X509Certificates.X509Certificate
Added methods:
public virtual byte[] GetCertHash (System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
public virtual string GetCertHashString (System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
public virtual bool TryGetCertHash (System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Span<byte> destination, out int bytesWritten);
Namespace System.Text
Type Changed: System.Text.Decoder
Added methods:
public virtual void Convert (System.ReadOnlySpan<byte> bytes, System.Span<char> chars, bool flush, out int bytesUsed, out int charsUsed, out bool completed);
public virtual int GetCharCount (System.ReadOnlySpan<byte> bytes, bool flush);
public virtual int GetChars (System.ReadOnlySpan<byte> bytes, System.Span<char> chars, bool flush);
Type Changed: System.Text.DecoderReplacementFallback
Added interface:
System.Runtime.Serialization.ISerializable
Type Changed: System.Text.Encoder
Added methods:
public virtual void Convert (System.ReadOnlySpan<char> chars, System.Span<byte> bytes, bool flush, out int charsUsed, out int bytesUsed, out bool completed);
public virtual int GetByteCount (System.ReadOnlySpan<char> chars, bool flush);
public virtual int GetBytes (System.ReadOnlySpan<char> chars, System.Span<byte> bytes, bool flush);
Type Changed: System.Text.EncoderReplacementFallback
Added interface:
System.Runtime.Serialization.ISerializable
Type Changed: System.Text.Encoding
Added property:
public virtual System.ReadOnlySpan<byte> Preamble { get; }
Added methods:
public int GetByteCount (string str, int index, int count);
public virtual int GetChars (System.ReadOnlySpan<byte> bytes, System.Span<char> chars);
public string GetString (System.ReadOnlySpan<byte> bytes);
Type Changed: System.Text.StringBuilder
Added methods:
public StringBuilder Append (System.ReadOnlySpan<char> value);
public StringBuilder Append (StringBuilder value);
public StringBuilder Append (StringBuilder value, int startIndex, int count);
public StringBuilder AppendJoin<T> (char separator, System.Collections.Generic.IEnumerable<T> values);
public StringBuilder AppendJoin (char separator, object[] values);
public StringBuilder AppendJoin (char separator, string[] values);
public StringBuilder AppendJoin<T> (string separator, System.Collections.Generic.IEnumerable<T> values);
public StringBuilder AppendJoin (string separator, object[] values);
public StringBuilder AppendJoin (string separator, string[] values);
public void CopyTo (int sourceIndex, System.Span<char> destination, int count);
public bool Equals (System.ReadOnlySpan<char> span);
public StringBuilder Insert (int index, System.ReadOnlySpan<char> value);
Type Changed: System.Text.UTF32Encoding
Added property:
public override System.ReadOnlySpan<byte> Preamble { get; }
Type Changed: System.Text.UTF8Encoding
Added property:
public override System.ReadOnlySpan<byte> Preamble { get; }
Type Changed: System.Text.UnicodeEncoding
Added property:
public override System.ReadOnlySpan<byte> Preamble { get; }
Namespace System.Threading
Type Changed: System.Threading.CancellationTokenRegistration
Added property:
public CancellationToken Token { get; }
Namespace System.Threading.Tasks
Type Changed: System.Threading.Tasks.TaskCanceledException
Added constructor:
public TaskCanceledException (string message, System.Exception innerException, System.Threading.CancellationToken token);
New Namespace System.Buffers.Binary
New Type: System.Buffers.Binary.BinaryPrimitives
public static class BinaryPrimitives {
// methods
public static short ReadInt16BigEndian (System.ReadOnlySpan<byte> source);
public static short ReadInt16LittleEndian (System.ReadOnlySpan<byte> source);
public static int ReadInt32BigEndian (System.ReadOnlySpan<byte> source);
public static int ReadInt32LittleEndian (System.ReadOnlySpan<byte> source);
public static long ReadInt64BigEndian (System.ReadOnlySpan<byte> source);
public static long ReadInt64LittleEndian (System.ReadOnlySpan<byte> source);
public static ushort ReadUInt16BigEndian (System.ReadOnlySpan<byte> source);
public static ushort ReadUInt16LittleEndian (System.ReadOnlySpan<byte> source);
public static uint ReadUInt32BigEndian (System.ReadOnlySpan<byte> source);
public static uint ReadUInt32LittleEndian (System.ReadOnlySpan<byte> source);
public static ulong ReadUInt64BigEndian (System.ReadOnlySpan<byte> source);
public static ulong ReadUInt64LittleEndian (System.ReadOnlySpan<byte> source);
public static byte ReverseEndianness (byte value);
public static short ReverseEndianness (short value);
public static int ReverseEndianness (int value);
public static long ReverseEndianness (long value);
public static sbyte ReverseEndianness (sbyte value);
public static ushort ReverseEndianness (ushort value);
public static uint ReverseEndianness (uint value);
public static ulong ReverseEndianness (ulong value);
public static bool TryReadInt16BigEndian (System.ReadOnlySpan<byte> source, out short value);
public static bool TryReadInt16LittleEndian (System.ReadOnlySpan<byte> source, out short value);
public static bool TryReadInt32BigEndian (System.ReadOnlySpan<byte> source, out int value);
public static bool TryReadInt32LittleEndian (System.ReadOnlySpan<byte> source, out int value);
public static bool TryReadInt64BigEndian (System.ReadOnlySpan<byte> source, out long value);
public static bool TryReadInt64LittleEndian (System.ReadOnlySpan<byte> source, out long value);
public static bool TryReadUInt16BigEndian (System.ReadOnlySpan<byte> source, out ushort value);
public static bool TryReadUInt16LittleEndian (System.ReadOnlySpan<byte> source, out ushort value);
public static bool TryReadUInt32BigEndian (System.ReadOnlySpan<byte> source, out uint value);
public static bool TryReadUInt32LittleEndian (System.ReadOnlySpan<byte> source, out uint value);
public static bool TryReadUInt64BigEndian (System.ReadOnlySpan<byte> source, out ulong value);
public static bool TryReadUInt64LittleEndian (System.ReadOnlySpan<byte> source, out ulong value);
public static bool TryWriteInt16BigEndian (System.Span<byte> destination, short value);
public static bool TryWriteInt16LittleEndian (System.Span<byte> destination, short value);
public static bool TryWriteInt32BigEndian (System.Span<byte> destination, int value);
public static bool TryWriteInt32LittleEndian (System.Span<byte> destination, int value);
public static bool TryWriteInt64BigEndian (System.Span<byte> destination, long value);
public static bool TryWriteInt64LittleEndian (System.Span<byte> destination, long value);
public static bool TryWriteUInt16BigEndian (System.Span<byte> destination, ushort value);
public static bool TryWriteUInt16LittleEndian (System.Span<byte> destination, ushort value);
public static bool TryWriteUInt32BigEndian (System.Span<byte> destination, uint value);
public static bool TryWriteUInt32LittleEndian (System.Span<byte> destination, uint value);
public static bool TryWriteUInt64BigEndian (System.Span<byte> destination, ulong value);
public static bool TryWriteUInt64LittleEndian (System.Span<byte> destination, ulong value);
public static void WriteInt16BigEndian (System.Span<byte> destination, short value);
public static void WriteInt16LittleEndian (System.Span<byte> destination, short value);
public static void WriteInt32BigEndian (System.Span<byte> destination, int value);
public static void WriteInt32LittleEndian (System.Span<byte> destination, int value);
public static void WriteInt64BigEndian (System.Span<byte> destination, long value);
public static void WriteInt64LittleEndian (System.Span<byte> destination, long value);
public static void WriteUInt16BigEndian (System.Span<byte> destination, ushort value);
public static void WriteUInt16LittleEndian (System.Span<byte> destination, ushort value);
public static void WriteUInt32BigEndian (System.Span<byte> destination, uint value);
public static void WriteUInt32LittleEndian (System.Span<byte> destination, uint value);
public static void WriteUInt64BigEndian (System.Span<byte> destination, ulong value);
public static void WriteUInt64LittleEndian (System.Span<byte> destination, ulong value);
}
New Namespace System.Buffers.Text
New Type: System.Buffers.Text.Base64
public static class Base64 {
// methods
public static System.Buffers.OperationStatus DecodeFromUtf8 (System.ReadOnlySpan<byte> utf8, System.Span<byte> bytes, out int bytesConsumed, out int bytesWritten, bool isFinalBlock);
public static System.Buffers.OperationStatus DecodeFromUtf8InPlace (System.Span<byte> buffer, out int bytesWritten);
public static System.Buffers.OperationStatus EncodeToUtf8 (System.ReadOnlySpan<byte> bytes, System.Span<byte> utf8, out int bytesConsumed, out int bytesWritten, bool isFinalBlock);
public static System.Buffers.OperationStatus EncodeToUtf8InPlace (System.Span<byte> buffer, int dataLength, out int bytesWritten);
public static int GetMaxDecodedFromUtf8Length (int length);
public static int GetMaxEncodedToUtf8Length (int length);
}
New Type: System.Buffers.Text.Utf8Formatter
public static class Utf8Formatter {
// methods
public static bool TryFormat (bool value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (byte value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (System.DateTime value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (System.DateTimeOffset value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (System.Decimal value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (double value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (System.Guid value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (short value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (int value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (long value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (sbyte value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (float value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (System.TimeSpan value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (ushort value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (uint value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
public static bool TryFormat (ulong value, System.Span<byte> destination, out int bytesWritten, System.Buffers.StandardFormat format);
}
New Type: System.Buffers.Text.Utf8Parser
public static class Utf8Parser {
// methods
public static bool TryParse (System.ReadOnlySpan<byte> source, out bool value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out byte value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out System.DateTime value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out System.DateTimeOffset value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out System.Decimal value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out double value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out System.Guid value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out short value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out int value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out long value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out sbyte value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out float value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out System.TimeSpan value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out ushort value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out uint value, out int bytesConsumed, char standardFormat);
public static bool TryParse (System.ReadOnlySpan<byte> source, out ulong value, out int bytesConsumed, char standardFormat);
}
New Namespace System.Numerics
New Type: System.Numerics.Vector
public static class Vector {
// properties
public static bool IsHardwareAccelerated { get; }
// methods
public static System.Numerics.Vector<T> Abs<T> (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<T> Add<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<T> AndNot<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<byte> AsVectorByte<T> (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<double> AsVectorDouble<T> (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<short> AsVectorInt16<T> (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<int> AsVectorInt32<T> (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<long> AsVectorInt64<T> (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<sbyte> AsVectorSByte<T> (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<float> AsVectorSingle<T> (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<ushort> AsVectorUInt16<T> (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<uint> AsVectorUInt32<T> (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<ulong> AsVectorUInt64<T> (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<T> BitwiseAnd<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<T> BitwiseOr<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<float> ConditionalSelect (System.Numerics.Vector<int> condition, System.Numerics.Vector<float> left, System.Numerics.Vector<float> right);
public static System.Numerics.Vector<double> ConditionalSelect (System.Numerics.Vector<long> condition, System.Numerics.Vector<double> left, System.Numerics.Vector<double> right);
public static System.Numerics.Vector<T> ConditionalSelect<T> (System.Numerics.Vector<T> condition, System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<double> ConvertToDouble (System.Numerics.Vector<long> value);
public static System.Numerics.Vector<double> ConvertToDouble (System.Numerics.Vector<ulong> value);
public static System.Numerics.Vector<int> ConvertToInt32 (System.Numerics.Vector<float> value);
public static System.Numerics.Vector<long> ConvertToInt64 (System.Numerics.Vector<double> value);
public static System.Numerics.Vector<float> ConvertToSingle (System.Numerics.Vector<int> value);
public static System.Numerics.Vector<float> ConvertToSingle (System.Numerics.Vector<uint> value);
public static System.Numerics.Vector<uint> ConvertToUInt32 (System.Numerics.Vector<float> value);
public static System.Numerics.Vector<ulong> ConvertToUInt64 (System.Numerics.Vector<double> value);
public static System.Numerics.Vector<T> Divide<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static T Dot<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<long> Equals (System.Numerics.Vector<double> left, System.Numerics.Vector<double> right);
public static System.Numerics.Vector<int> Equals (System.Numerics.Vector<int> left, System.Numerics.Vector<int> right);
public static System.Numerics.Vector<long> Equals (System.Numerics.Vector<long> left, System.Numerics.Vector<long> right);
public static System.Numerics.Vector<int> Equals (System.Numerics.Vector<float> left, System.Numerics.Vector<float> right);
public static System.Numerics.Vector<T> Equals<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static bool EqualsAll<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static bool EqualsAny<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<long> GreaterThan (System.Numerics.Vector<double> left, System.Numerics.Vector<double> right);
public static System.Numerics.Vector<int> GreaterThan (System.Numerics.Vector<int> left, System.Numerics.Vector<int> right);
public static System.Numerics.Vector<long> GreaterThan (System.Numerics.Vector<long> left, System.Numerics.Vector<long> right);
public static System.Numerics.Vector<int> GreaterThan (System.Numerics.Vector<float> left, System.Numerics.Vector<float> right);
public static System.Numerics.Vector<T> GreaterThan<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static bool GreaterThanAll<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static bool GreaterThanAny<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<long> GreaterThanOrEqual (System.Numerics.Vector<double> left, System.Numerics.Vector<double> right);
public static System.Numerics.Vector<int> GreaterThanOrEqual (System.Numerics.Vector<int> left, System.Numerics.Vector<int> right);
public static System.Numerics.Vector<long> GreaterThanOrEqual (System.Numerics.Vector<long> left, System.Numerics.Vector<long> right);
public static System.Numerics.Vector<int> GreaterThanOrEqual (System.Numerics.Vector<float> left, System.Numerics.Vector<float> right);
public static System.Numerics.Vector<T> GreaterThanOrEqual<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static bool GreaterThanOrEqualAll<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static bool GreaterThanOrEqualAny<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<long> LessThan (System.Numerics.Vector<double> left, System.Numerics.Vector<double> right);
public static System.Numerics.Vector<int> LessThan (System.Numerics.Vector<int> left, System.Numerics.Vector<int> right);
public static System.Numerics.Vector<long> LessThan (System.Numerics.Vector<long> left, System.Numerics.Vector<long> right);
public static System.Numerics.Vector<int> LessThan (System.Numerics.Vector<float> left, System.Numerics.Vector<float> right);
public static System.Numerics.Vector<T> LessThan<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static bool LessThanAll<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static bool LessThanAny<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<long> LessThanOrEqual (System.Numerics.Vector<double> left, System.Numerics.Vector<double> right);
public static System.Numerics.Vector<int> LessThanOrEqual (System.Numerics.Vector<int> left, System.Numerics.Vector<int> right);
public static System.Numerics.Vector<long> LessThanOrEqual (System.Numerics.Vector<long> left, System.Numerics.Vector<long> right);
public static System.Numerics.Vector<int> LessThanOrEqual (System.Numerics.Vector<float> left, System.Numerics.Vector<float> right);
public static System.Numerics.Vector<T> LessThanOrEqual<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static bool LessThanOrEqualAll<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static bool LessThanOrEqualAny<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<T> Max<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<T> Min<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<T> Multiply<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<T> Multiply<T> (System.Numerics.Vector<T> left, T right);
public static System.Numerics.Vector<T> Multiply<T> (T left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<float> Narrow (System.Numerics.Vector<double> low, System.Numerics.Vector<double> high);
public static System.Numerics.Vector<sbyte> Narrow (System.Numerics.Vector<short> low, System.Numerics.Vector<short> high);
public static System.Numerics.Vector<short> Narrow (System.Numerics.Vector<int> low, System.Numerics.Vector<int> high);
public static System.Numerics.Vector<int> Narrow (System.Numerics.Vector<long> low, System.Numerics.Vector<long> high);
public static System.Numerics.Vector<byte> Narrow (System.Numerics.Vector<ushort> low, System.Numerics.Vector<ushort> high);
public static System.Numerics.Vector<ushort> Narrow (System.Numerics.Vector<uint> low, System.Numerics.Vector<uint> high);
public static System.Numerics.Vector<uint> Narrow (System.Numerics.Vector<ulong> low, System.Numerics.Vector<ulong> high);
public static System.Numerics.Vector<T> Negate<T> (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<T> OnesComplement<T> (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<T> SquareRoot<T> (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<T> Subtract<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static void Widen (System.Numerics.Vector<byte> source, out System.Numerics.Vector<ushort> low, out System.Numerics.Vector<ushort> high);
public static void Widen (System.Numerics.Vector<short> source, out System.Numerics.Vector<int> low, out System.Numerics.Vector<int> high);
public static void Widen (System.Numerics.Vector<int> source, out System.Numerics.Vector<long> low, out System.Numerics.Vector<long> high);
public static void Widen (System.Numerics.Vector<sbyte> source, out System.Numerics.Vector<short> low, out System.Numerics.Vector<short> high);
public static void Widen (System.Numerics.Vector<float> source, out System.Numerics.Vector<double> low, out System.Numerics.Vector<double> high);
public static void Widen (System.Numerics.Vector<ushort> source, out System.Numerics.Vector<uint> low, out System.Numerics.Vector<uint> high);
public static void Widen (System.Numerics.Vector<uint> source, out System.Numerics.Vector<ulong> low, out System.Numerics.Vector<ulong> high);
public static System.Numerics.Vector<T> Xor<T> (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
}
New Type: System.Numerics.Vector`1
public struct Vector`1, System.IEquatable<System.Numerics.Vector<T>>, System.IFormattable {
// constructors
public Vector`1 (T value);
public Vector`1 (T[] values);
public Vector`1 (T[] values, int index);
// properties
public static int Count { get; }
public T Item { get; }
public static System.Numerics.Vector<T> One { get; }
public static System.Numerics.Vector<T> Zero { get; }
// methods
public void CopyTo (T[] destination);
public void CopyTo (T[] destination, int startIndex);
public virtual bool Equals (System.Numerics.Vector<T> other);
public override bool Equals (object obj);
public override int GetHashCode ();
public override string ToString ();
public string ToString (string format);
public virtual string ToString (string format, System.IFormatProvider formatProvider);
public static System.Numerics.Vector<T> op_Addition (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<T> op_BitwiseAnd (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<T> op_BitwiseOr (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<T> op_Division (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static bool op_Equality (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<T> op_ExclusiveOr (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<byte> op_Explicit (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<double> op_Explicit (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<short> op_Explicit (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<int> op_Explicit (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<long> op_Explicit (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<sbyte> op_Explicit (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<float> op_Explicit (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<ushort> op_Explicit (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<uint> op_Explicit (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<ulong> op_Explicit (System.Numerics.Vector<T> value);
public static bool op_Inequality (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<T> op_Multiply (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<T> op_Multiply (System.Numerics.Vector<T> value, T factor);
public static System.Numerics.Vector<T> op_Multiply (T factor, System.Numerics.Vector<T> value);
public static System.Numerics.Vector<T> op_OnesComplement (System.Numerics.Vector<T> value);
public static System.Numerics.Vector<T> op_Subtraction (System.Numerics.Vector<T> left, System.Numerics.Vector<T> right);
public static System.Numerics.Vector<T> op_UnaryNegation (System.Numerics.Vector<T> value);
}
System.Core.dll
Namespace System.Collections.Generic
Type Changed: System.Collections.Generic.HashSet`1
Added method:
public int EnsureCapacity (int capacity);
Namespace System.IO.Pipes
Type Changed: System.IO.Pipes.AnonymousPipeServerStream
Added method:
protected override void Dispose (bool disposing);
Type Changed: System.IO.Pipes.PipeOptions
Added value:
CurrentUserOnly = 536870912,
Type Changed: System.IO.Pipes.PipeStream
Added methods:
public override int Read (System.Span<byte> buffer);
public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
public override void Write (System.ReadOnlySpan<byte> buffer);
public override System.Threading.Tasks.ValueTask WriteAsync (System.ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
Namespace System.Security.Cryptography.X509Certificates
New Type: System.Security.Cryptography.X509Certificates.DSACertificateExtensions
public static class DSACertificateExtensions {
// methods
public static X509Certificate2 CopyWithPrivateKey (this X509Certificate2 certificate, System.Security.Cryptography.DSA privateKey);
public static System.Security.Cryptography.DSA GetDSAPrivateKey (this X509Certificate2 certificate);
public static System.Security.Cryptography.DSA GetDSAPublicKey (this X509Certificate2 certificate);
}
System.Data.dll
Namespace System.Data.SqlClient
Type Changed: System.Data.SqlClient.SqlConnection
Added property:
public SqlCredential Credential { get; set; }
Added method:
public static void ChangePassword (string connectionString, SqlCredential credential, System.Security.SecureString newSecurePassword);
Type Changed: System.Data.SqlClient.SqlParameterCollection
Added properties:
public override bool IsFixedSize { get; }
public override bool IsReadOnly { get; }
System.dll
Namespace System.ComponentModel
Type Changed: System.ComponentModel.BackgroundWorker
Added method:
protected override void Dispose (bool disposing);
Type Changed: System.ComponentModel.BaseNumberConverter
Modified methods:
-public override bool CanConvertTo (ITypeDescriptorContext context, System.Type t)
+public override bool CanConvertTo (ITypeDescriptorContext context, System.Type destinationType)
Type Changed: System.ComponentModel.DefaultValueAttribute
Added constructors:
public DefaultValueAttribute (sbyte value);
public DefaultValueAttribute (ushort value);
public DefaultValueAttribute (uint value);
public DefaultValueAttribute (ulong value);
Namespace System.IO
Type Changed: System.IO.FileSystemWatcher
Added property:
public System.Collections.ObjectModel.Collection<string> Filters { get; }
Namespace System.IO.Compression
Type Changed: System.IO.Compression.GZipStream
Added methods:
public override int Read (System.Span<byte> buffer);
public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public override void Write (System.ReadOnlySpan<byte> buffer);
public override System.Threading.Tasks.ValueTask WriteAsync (System.ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken);
Namespace System.Net.Mime
Type Changed: System.Net.Mime.MediaTypeNames
Type Changed: System.Net.Mime.MediaTypeNames.Application
Added fields:
public static const string Json = "application/json";
public static const string Xml = "application/xml";
Namespace System.Net.Security
Type Changed: System.Net.Security.SslStream
Added methods:
public virtual void AuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation);
public System.Threading.Tasks.Task AuthenticateAsClientAsync (SslClientAuthenticationOptions sslClientAuthenticationOptions, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation);
public virtual void AuthenticateAsServer (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool checkCertificateRevocation);
public System.Threading.Tasks.Task AuthenticateAsServerAsync (SslServerAuthenticationOptions sslServerAuthenticationOptions, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool checkCertificateRevocation);
public virtual System.IAsyncResult BeginAuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation, System.AsyncCallback asyncCallback, object asyncState);
public virtual System.IAsyncResult BeginAuthenticateAsServer (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool checkCertificateRevocation, System.AsyncCallback asyncCallback, object asyncState);
New Type: System.Net.Security.ServerCertificateSelectionCallback
public sealed delegate ServerCertificateSelectionCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
// constructors
public ServerCertificateSelectionCallback (object object, IntPtr method);
// methods
public virtual System.IAsyncResult BeginInvoke (object sender, string hostName, System.AsyncCallback callback, object object);
public virtual System.Security.Cryptography.X509Certificates.X509Certificate EndInvoke (System.IAsyncResult result);
public virtual System.Security.Cryptography.X509Certificates.X509Certificate Invoke (object sender, string hostName);
}
New Type: System.Net.Security.SslApplicationProtocol
public struct SslApplicationProtocol, System.IEquatable<SslApplicationProtocol> {
// constructors
public SslApplicationProtocol (byte[] protocol);
public SslApplicationProtocol (string protocol);
// fields
public static SslApplicationProtocol Http11;
public static SslApplicationProtocol Http2;
// properties
public System.ReadOnlyMemory<byte> Protocol { get; }
// methods
public virtual bool Equals (SslApplicationProtocol other);
public override bool Equals (object obj);
public override int GetHashCode ();
public override string ToString ();
public static bool op_Equality (SslApplicationProtocol left, SslApplicationProtocol right);
public static bool op_Inequality (SslApplicationProtocol left, SslApplicationProtocol right);
}
New Type: System.Net.Security.SslClientAuthenticationOptions
public class SslClientAuthenticationOptions {
// constructors
public SslClientAuthenticationOptions ();
// properties
public bool AllowRenegotiation { get; set; }
public System.Collections.Generic.List<SslApplicationProtocol> ApplicationProtocols { get; set; }
public System.Security.Cryptography.X509Certificates.X509RevocationMode CertificateRevocationCheckMode { get; set; }
public System.Security.Cryptography.X509Certificates.X509CertificateCollection ClientCertificates { get; set; }
public System.Security.Authentication.SslProtocols EnabledSslProtocols { get; set; }
public EncryptionPolicy EncryptionPolicy { get; set; }
public LocalCertificateSelectionCallback LocalCertificateSelectionCallback { get; set; }
public RemoteCertificateValidationCallback RemoteCertificateValidationCallback { get; set; }
public string TargetHost { get; set; }
}
New Type: System.Net.Security.SslServerAuthenticationOptions
public class SslServerAuthenticationOptions {
// constructors
public SslServerAuthenticationOptions ();
// properties
public bool AllowRenegotiation { get; set; }
public System.Collections.Generic.List<SslApplicationProtocol> ApplicationProtocols { get; set; }
public System.Security.Cryptography.X509Certificates.X509RevocationMode CertificateRevocationCheckMode { get; set; }
public bool ClientCertificateRequired { get; set; }
public System.Security.Authentication.SslProtocols EnabledSslProtocols { get; set; }
public EncryptionPolicy EncryptionPolicy { get; set; }
public RemoteCertificateValidationCallback RemoteCertificateValidationCallback { get; set; }
public System.Security.Cryptography.X509Certificates.X509Certificate ServerCertificate { get; set; }
public ServerCertificateSelectionCallback ServerCertificateSelectionCallback { get; set; }
}
Namespace System.Net.Sockets
Type Changed: System.Net.Sockets.Socket
Added methods:
public int Receive (System.Span<byte> buffer, SocketFlags socketFlags);
public int Send (System.ReadOnlySpan<byte> buffer, SocketFlags socketFlags);
Namespace System.Net.WebSockets
Type Changed: System.Net.WebSockets.ClientWebSocket
Added methods:
public override System.Threading.Tasks.ValueTask<ValueWebSocketReceiveResult> ReceiveAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.ValueTask SendAsync (System.ReadOnlyMemory<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, System.Threading.CancellationToken cancellationToken);
Type Changed: System.Net.WebSockets.ClientWebSocketOptions
Added property:
public System.Net.Security.RemoteCertificateValidationCallback RemoteCertificateValidationCallback { get; set; }
Type Changed: System.Net.WebSockets.WebSocket
Added methods:
public static WebSocket CreateFromStream (System.IO.Stream stream, bool isServer, string subProtocol, System.TimeSpan keepAliveInterval);
public virtual System.Threading.Tasks.ValueTask<ValueWebSocketReceiveResult> ReceiveAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.ValueTask SendAsync (System.ReadOnlyMemory<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, System.Threading.CancellationToken cancellationToken);
New Namespace System.IO.Enumeration
New Type: System.IO.Enumeration.FileSystemName
public static class FileSystemName {
// methods
public static bool MatchesSimpleExpression (System.ReadOnlySpan<char> expression, System.ReadOnlySpan<char> name, bool ignoreCase);
public static bool MatchesWin32Expression (System.ReadOnlySpan<char> expression, System.ReadOnlySpan<char> name, bool ignoreCase);
public static string TranslateWin32Expression (string expression);
}
System.Numerics.dll
Namespace System.Numerics
Type Changed: System.Numerics.BigInteger
Added constructor:
public BigInteger (System.ReadOnlySpan<byte> value, bool isUnsigned, bool isBigEndian);
Added methods:
public static BigInteger Parse (System.ReadOnlySpan<char> value, System.Globalization.NumberStyles style, System.IFormatProvider provider);
public bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, System.IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> value, out BigInteger result);
public static bool TryParse (System.ReadOnlySpan<char> value, System.Globalization.NumberStyles style, System.IFormatProvider provider, out BigInteger result);
public bool TryWriteBytes (System.Span<byte> destination, out int bytesWritten, bool isUnsigned, bool isBigEndian);
System.Xml.Linq.dll
Namespace System.Xml.Linq
Type Changed: System.Xml.Linq.XCData
Added method:
public override System.Threading.Tasks.Task WriteToAsync (System.Xml.XmlWriter writer, System.Threading.CancellationToken cancellationToken);
Type Changed: System.Xml.Linq.XComment
Added method:
public override System.Threading.Tasks.Task WriteToAsync (System.Xml.XmlWriter writer, System.Threading.CancellationToken cancellationToken);
Type Changed: System.Xml.Linq.XDocument
Added methods:
public static System.Threading.Tasks.Task<XDocument> LoadAsync (System.IO.Stream stream, LoadOptions options, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<XDocument> LoadAsync (System.IO.TextReader textReader, LoadOptions options, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<XDocument> LoadAsync (System.Xml.XmlReader reader, LoadOptions options, System.Threading.CancellationToken cancellationToken);
public System.Threading.Tasks.Task SaveAsync (System.Xml.XmlWriter writer, System.Threading.CancellationToken cancellationToken);
public System.Threading.Tasks.Task SaveAsync (System.IO.Stream stream, SaveOptions options, System.Threading.CancellationToken cancellationToken);
public System.Threading.Tasks.Task SaveAsync (System.IO.TextWriter textWriter, SaveOptions options, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteToAsync (System.Xml.XmlWriter writer, System.Threading.CancellationToken cancellationToken);
Type Changed: System.Xml.Linq.XDocumentType
Added method:
public override System.Threading.Tasks.Task WriteToAsync (System.Xml.XmlWriter writer, System.Threading.CancellationToken cancellationToken);
Type Changed: System.Xml.Linq.XElement
Added methods:
public static System.Threading.Tasks.Task<XElement> LoadAsync (System.IO.Stream stream, LoadOptions options, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<XElement> LoadAsync (System.IO.TextReader textReader, LoadOptions options, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<XElement> LoadAsync (System.Xml.XmlReader reader, LoadOptions options, System.Threading.CancellationToken cancellationToken);
public System.Threading.Tasks.Task SaveAsync (System.Xml.XmlWriter writer, System.Threading.CancellationToken cancellationToken);
public System.Threading.Tasks.Task SaveAsync (System.IO.Stream stream, SaveOptions options, System.Threading.CancellationToken cancellationToken);
public System.Threading.Tasks.Task SaveAsync (System.IO.TextWriter textWriter, SaveOptions options, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteToAsync (System.Xml.XmlWriter writer, System.Threading.CancellationToken cancellationToken);
Type Changed: System.Xml.Linq.XNode
Added methods:
public static System.Threading.Tasks.Task<XNode> ReadFromAsync (System.Xml.XmlReader reader, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task WriteToAsync (System.Xml.XmlWriter writer, System.Threading.CancellationToken cancellationToken);
Type Changed: System.Xml.Linq.XProcessingInstruction
Added method:
public override System.Threading.Tasks.Task WriteToAsync (System.Xml.XmlWriter writer, System.Threading.CancellationToken cancellationToken);
Type Changed: System.Xml.Linq.XText
Added method:
public override System.Threading.Tasks.Task WriteToAsync (System.Xml.XmlWriter writer, System.Threading.CancellationToken cancellationToken);
Xamarin.iOS.dll
Namespace AudioUnit
Type Changed: AudioUnit.AudioUnit
Added methods:
public double GetLatency ();
public AudioUnitStatus SetLatency (double latency);
Namespace Compression
Type Changed: Compression.CompressionStream
Added methods:
public override int Read (System.Span<byte> destination);
public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> destination, System.Threading.CancellationToken cancellationToken);
public override void Write (System.ReadOnlySpan<byte> source);
public override System.Threading.Tasks.ValueTask WriteAsync (System.ReadOnlyMemory<byte> source, System.Threading.CancellationToken cancellationToken);
Namespace CoreFoundation
Type Changed: CoreFoundation.DispatchObject
Modified base type:
-System.Object
+CoreFoundation.NativeObject
Removed property:
public virtual IntPtr Handle { get; }
Removed methods:
public virtual void Dispose ();
protected virtual void Dispose (bool disposing);
protected override void ~DispatchObject ();
Obsoleted methods:
[Obsolete ("Use 'GetCheckedHandle' instead.")]
protected void Check ();
Added methods:
public void Activate ();
protected override void Release ();
protected override void Retain ();
Type Changed: CoreFoundation.DispatchQueue
Added constructor:
public DispatchQueue (string label, DispatchQueue.Attributes attributes, DispatchQueue target);
Added property:
public DispatchQualityOfService QualityOfService { get; }
Added methods:
public void DispatchBarrierSync (System.Action action);
public DispatchQualityOfService GetQualityOfService (out int relative_priority);
public object GetSpecific (IntPtr key);
public void SetSpecific (IntPtr key, object context);
New Type: CoreFoundation.DispatchQualityOfService
[Serializable]
public enum DispatchQualityOfService {
Background = 9,
Default = 21,
Unspecified = 0,
UserInitiated = 25,
UserInteractive = 33,
Utility = 17,
}
Namespace CoreGraphics
Type Changed: CoreGraphics.CGAffineTransform
Added methods:
public void Rotate (nfloat angle, MatrixOrder order);
public void Scale (nfloat sx, nfloat sy, MatrixOrder order);
public void Translate (nfloat tx, nfloat ty, MatrixOrder order);
New Type: CoreGraphics.MatrixOrder
[Serializable]
public enum MatrixOrder {
Append = 1,
Prepend = 0,
}
Namespace CoreMedia
Type Changed: CoreMedia.CMAttachmentBearer
Added method:
public static T GetAttachment<T> (this ICMAttachmentBearer target, CMSampleBufferAttachmentKey key, out CMAttachmentMode attachmentModeOut);
New Type: CoreMedia.CMSampleBufferAttachmentKey
[Serializable]
public enum CMSampleBufferAttachmentKey {
CameraIntrinsicMatrix = 31,
DependsOnOthers = 4,
DisplayEmptyMediaImmediately = 24,
DisplayImmediately = 6,
DoNotDisplay = 7,
DrainAfterDecoding = 13,
DroppedFrameReason = 29,
DroppedFrameReasonInfo = 32,
EarlierDisplayTimesAllowed = 5,
EmptyMedia = 22,
EndsPreviousSampleDuration = 25,
FillDiscontinuitiesWithSilence = 21,
ForceKeyFrame = 33,
GradualDecoderRefresh = 28,
HasRedundantCoding = 2,
HevcStepwiseTemporalSubLayerAccess = 10,
HevcSyncSampleNalUnitType = 11,
HevcTemporalLevelInfo = 8,
HevcTemporalSubLayerAccess = 9,
IsDependedOnByOthers = 3,
NotSync = 0,
PartialSync = 1,
PermanentEmptyMedia = 23,
PostNotificationWhenConsumed = 14,
ResetDecoderBeforeDecoding = 12,
ResumeOutput = 15,
Reverse = 20,
SampleReferenceByteOffset = 27,
SampleReferenceUrl = 26,
SpeedMultiplier = 19,
StillImageLensStabilizationInfo = 30,
TransitionId = 16,
TrimDurationAtEnd = 18,
TrimDurationAtStart = 17,
}
New Type: CoreMedia.CMSampleBufferAttachmentKeyExtensions
public static class CMSampleBufferAttachmentKeyExtensions {
// methods
public static Foundation.NSString GetConstant (this CMSampleBufferAttachmentKey self);
public static CMSampleBufferAttachmentKey GetValue (Foundation.NSString constant);
}
Namespace Foundation
Type Changed: Foundation.NSMutableDictionary
Added method:
public virtual void AddEntries (NSDictionary other);
Type Changed: Foundation.NSString
Added methods:
public virtual NSString[] SeparateComponents (NSCharacterSet separator);
public virtual NSString[] SeparateComponents (NSString separator);
Type Changed: Foundation.ProtocolMemberAttribute
Added property:
public System.Type ReturnTypeDelegateProxy { get; set; }
Namespace Metal
Type Changed: Metal.MTLQuadTessellationFactorsHalf
Modified fields:
-[MarshalAs]
+
public ushort[] EdgeTessellationFactor;
-[MarshalAs]
+
public ushort[] InsideTessellationFactor;
Type Changed: Metal.MTLTriangleTessellationFactorsHalf
Modified fields:
-[MarshalAs]
+
public ushort[] EdgeTessellationFactor;
Namespace ObjCRuntime
Type Changed: ObjCRuntime.Constants
Modified fields:
-public const string HealthKitUILibrary = "/System/Library/Frameworks/HealthKitUI.framework/HealthKit";
+public const string HealthKitUILibrary = "/System/Library/Frameworks/HealthKitUI.framework/HealthKitUI";
-public const string NaturalLanguageLibrary = "/System/Library/Frameworks/Frameworks/NaturalLanguage.framework/NaturalLanguage";
+public const string NaturalLanguageLibrary = "/System/Library/Frameworks/NaturalLanguage.framework/NaturalLanguage";
-public const string SpeechLibrary = "/System/Library/Frameworks/Speech.framework/";
+public const string SpeechLibrary = "/System/Library/Frameworks/Speech.framework/Speech";
-public const string Version = "12.4.0";
+public const string Version = "12.8.0";
Added fields:
public static const string libcompressionLibrary = "/usr/lib/libcompression.dylib";
public static const string libdispatchLibrary = "/usr/lib/system/libdispatch.dylib";
Type Changed: ObjCRuntime.Runtime
Added method:
public static INativeObject GetINativeObject (IntPtr ptr, bool owns, System.Type target_type);
Namespace SceneKit
Type Changed: SceneKit.SCNAction
Obsoleted properties:
[Obsolete ("Use 'TimingFunction2' property.")]
public virtual System.Action<float> TimingFunction { get; set; }
Added property:
public virtual System.Func<System.Single,System.Single> TimingFunction2 { get; set; }
Namespace UIKit
Type Changed: UIKit.UIGestureRecognizer
Added method:
public System.Collections.Generic.IEnumerable<UIGestureRecognizer.Token> GetTargets ();