Xamarin.TVOS SDK API diff: 11.14.0 vs 11.16.0
mscorlib.dll
Namespace System
Type Changed: System.BitConverter
Added method:
public static int ToInt32 (System.ReadOnlySpan<byte> value);
Type Changed: System.Int32
Added method:
public bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);
Type Changed: System.String
Added constructor:
public String (System.ReadOnlySpan<char> value);
Removed method:
public static string Concat (object arg0, object arg1, object arg2, object arg3);
Added methods:
public bool Contains (char value);
public bool Contains (char value, StringComparison comparisonType);
public bool Contains (string value, StringComparison comparisonType);
public bool EndsWith (char value);
public int GetHashCode (StringComparison comparisonType);
public int IndexOf (char value, StringComparison comparisonType);
public static string Join<T> (char separator, System.Collections.Generic.IEnumerable<T> values);
public static string Join (char separator, object[] values);
public static string Join (char separator, string[] value);
public static string Join (char separator, string[] value, int startIndex, int count);
public string Replace (string oldValue, string newValue, StringComparison comparisonType);
public string Replace (string oldValue, string newValue, bool ignoreCase, Globalization.CultureInfo culture);
public string[] Split (char separator, StringSplitOptions options);
public string[] Split (string separator, StringSplitOptions options);
public string[] Split (char separator, int count, StringSplitOptions options);
public string[] Split (string separator, int count, StringSplitOptions options);
public bool StartsWith (char value);
public string Trim (char trimChar);
public string TrimEnd ();
public string TrimEnd (char trimChar);
public string TrimStart ();
public string TrimStart (char trimChar);
public static System.ReadOnlySpan<char> op_Implicit (string value);
Type Changed: System.StringComparer
Added method:
public static StringComparer FromComparison (StringComparison comparisonType);
New Type: System.MemoryExtensions
public static class MemoryExtensions {
// methods
public static System.ReadOnlySpan<byte> AsBytes<T> (this System.ReadOnlySpan<T> source);
public static System.Span<byte> AsBytes<T> (this System.Span<T> source);
public static System.ReadOnlyMemory<T> AsReadOnlyMemory<T> (this System.Memory<T> memory);
public static System.ReadOnlyMemory<char> AsReadOnlyMemory (this string text);
public static System.ReadOnlyMemory<char> AsReadOnlyMemory (this string text, int start);
public static System.ReadOnlyMemory<char> AsReadOnlyMemory (this string text, int start, int length);
public static System.ReadOnlySpan<T> AsReadOnlySpan<T> (this System.ArraySegment<T> arraySegment);
public static System.ReadOnlySpan<T> AsReadOnlySpan<T> (this System.Span<T> span);
public static System.ReadOnlySpan<char> AsReadOnlySpan (this string text);
public static System.ReadOnlySpan<T> AsReadOnlySpan<T> (this T[] array);
public static System.ReadOnlySpan<char> AsReadOnlySpan (this string text, int start);
public static System.ReadOnlySpan<char> AsReadOnlySpan (this string text, int start, int length);
public static System.Span<T> AsSpan<T> (this System.ArraySegment<T> arraySegment);
public static System.ReadOnlySpan<char> AsSpan (this string text);
public static System.Span<T> AsSpan<T> (this T[] array);
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 void CopyTo<T> (this T[] array, System.Memory<T> destination);
public static void CopyTo<T> (this T[] array, 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 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 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 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 System.ReadOnlySpan<TTo> NonPortableCast<TFrom, TTo> (this System.ReadOnlySpan<TFrom> source);
public static System.Span<TTo> NonPortableCast<TFrom, TTo> (this System.Span<TFrom> source);
public static bool Overlaps<T> (this System.ReadOnlySpan<T> first, System.ReadOnlySpan<T> second);
public static bool Overlaps<T> (this System.Span<T> first, System.ReadOnlySpan<T> second);
public static bool Overlaps<T> (this System.ReadOnlySpan<T> first, System.ReadOnlySpan<T> second, out int elementOffset);
public static bool Overlaps<T> (this System.Span<T> first, System.ReadOnlySpan<T> second, out int elementOffset);
public static void Reverse<T> (this System.Span<T> span);
public static int SequenceCompareTo<T> (this System.ReadOnlySpan<T> first, System.ReadOnlySpan<T> second);
public static int SequenceCompareTo<T> (this System.Span<T> first, System.ReadOnlySpan<T> second);
public static bool SequenceEqual<T> (this System.ReadOnlySpan<T> first, System.ReadOnlySpan<T> second);
public static bool SequenceEqual<T> (this System.Span<T> first, System.ReadOnlySpan<T> second);
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 TryGetString (this System.ReadOnlyMemory<char> readOnlyMemory, out string text, out int start, out int length);
}
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 Retain (bool pin);
public System.Memory<T> Slice (int start);
public System.Memory<T> Slice (int start, int length);
public T[] ToArray ();
public bool TryCopyTo (System.Memory<T> destination);
public bool TryGetArray (out System.ArraySegment<T> arraySegment);
public static System.Memory<T> op_Implicit (System.ArraySegment<T> arraySegment);
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 Retain (bool pin);
public System.ReadOnlyMemory<T> Slice (int start);
public System.ReadOnlyMemory<T> Slice (int start, int length);
public T[] ToArray ();
public bool TryCopyTo (System.Memory<T> destination);
public static System.ReadOnlyMemory<T> op_Implicit (System.ArraySegment<T> arraySegment);
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);
public static System.ReadOnlySpan<T> DangerousCreate (object obj, ref T objectData, int length);
[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 System.ReadOnlySpan<T> Slice (int start);
public System.ReadOnlySpan<T> Slice (int start, int length);
public T[] ToArray ();
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> arraySegment);
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.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);
public static System.Span<T> DangerousCreate (object obj, ref T objectData, int length);
[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 System.Span<T> Slice (int start);
public System.Span<T> Slice (int start, int length);
public T[] ToArray ();
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> arraySegment);
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.OwnedMemory`1
public abstract class OwnedMemory`1 : IRetainable, System.IDisposable {
// constructors
protected OwnedMemory`1 ();
// properties
public virtual bool IsDisposed { get; }
protected virtual bool IsRetained { get; }
public virtual int Length { get; }
public System.Memory<T> Memory { get; }
public virtual System.Span<T> Span { get; }
// methods
public virtual void Dispose ();
protected virtual void Dispose (bool disposing);
public virtual MemoryHandle Pin (int offset);
public virtual bool Release ();
public virtual void Retain ();
protected virtual bool TryGetArray (out System.ArraySegment<T> arraySegment);
}
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
Type Changed: System.Collections.BitArray
Added methods:
public BitArray LeftShift (int count);
public BitArray RightShift (int count);
Namespace System.Collections.ObjectModel
Type Changed: System.Collections.ObjectModel.KeyedCollection`2
Added method:
public bool TryGetValue (TKey key, out TItem item);
Namespace System.Globalization
New Type: System.Globalization.GlobalizationExtensions
public static class GlobalizationExtensions {
// methods
public static System.StringComparer GetStringComparer (this CompareInfo compareInfo, CompareOptions options);
}
Namespace System.IO
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.Task WriteAsync (System.ReadOnlyMemory<byte> source, System.Threading.CancellationToken cancellationToken);
Namespace System.Reflection
Type Changed: System.Reflection.BindingFlags
Added value:
DoNotWrapExceptions = 33554432,
Namespace System.Reflection.Emit
New Type: System.Reflection.Emit.DynamicMethod
public abstract class DynamicMethod : System.Reflection.MethodInfo, System.Reflection.ICustomAttributeProvider, System.Runtime.InteropServices._MemberInfo, System.Runtime.InteropServices._MethodBase {
// constructors
public DynamicMethod (string name, System.Type returnType, System.Type[] parameterTypes);
public DynamicMethod (string name, System.Type returnType, System.Type[] parameterTypes, bool restrictedSkipVisibility);
public DynamicMethod (string name, System.Type returnType, System.Type[] parameterTypes, System.Reflection.Module m);
public DynamicMethod (string name, System.Type returnType, System.Type[] parameterTypes, System.Type owner);
public DynamicMethod (string name, System.Type returnType, System.Type[] parameterTypes, System.Reflection.Module m, bool skipVisibility);
public DynamicMethod (string name, System.Type returnType, System.Type[] parameterTypes, System.Type owner, bool skipVisibility);
public DynamicMethod (string name, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes, System.Reflection.Module m, bool skipVisibility);
public DynamicMethod (string name, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes, System.Type owner, bool skipVisibility);
// properties
public override System.Reflection.MethodAttributes Attributes { get; }
public override System.Reflection.CallingConventions CallingConvention { get; }
public override System.Type DeclaringType { get; }
public bool InitLocals { get; set; }
public override System.Reflection.MethodImplAttributes MethodImplementationFlags { get; }
public override string Name { get; }
public override System.Reflection.ParameterInfo ReturnParameter { get; }
public override System.Type ReturnType { get; }
// methods
public ILGenerator GetILGenerator ();
public ILGenerator GetILGenerator (int streamSize);
public override System.Reflection.ParameterInfo[] GetParameters ();
}
Namespace System.Runtime
New Type: System.Runtime.ProfileOptimization
public static class ProfileOptimization {
// methods
public static void SetProfileRoot (string directoryPath);
public static void StartProfile (string profile);
}
Namespace System.Runtime.CompilerServices
Type Changed: System.Runtime.CompilerServices.ConditionalWeakTable`2
Added interfaces:
System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>
System.Collections.IEnumerable
Namespace System.Runtime.InteropServices
New Type: System.Runtime.InteropServices.MemoryMarshal
public static class MemoryMarshal {
// methods
public static System.Memory<T> AsMemory<T> (System.ReadOnlyMemory<T> readOnlyMemory);
public static T GetReference<T> (System.ReadOnlySpan<T> span);
public static T GetReference<T> (System.Span<T> span);
public static bool TryGetArray<T> (System.ReadOnlyMemory<T> readOnlyMemory, out System.ArraySegment<T> arraySegment);
}
Namespace System.Text
Type Changed: System.Text.Encoding
Added method:
public string GetString (System.ReadOnlySpan<byte> bytes);
Namespace System.Threading
Type Changed: System.Threading.LazyInitializer
Added method:
public static T EnsureInitialized<T> (ref T target, ref object syncLock, System.Func<T> valueFactory);
New Type: System.Threading.Lock
public class Lock {
// constructors
public Lock ();
// methods
public void Acquire ();
public void Release ();
}
New Type: System.Threading.LockHolder
public struct LockHolder, System.IDisposable {
// methods
public virtual void Dispose ();
public static LockHolder Hold (Lock l);
}
Namespace System.Threading.Tasks
Type Changed: System.Threading.Tasks.Task
Added methods:
public static System.Threading.Tasks.Task<TResult> CreateUnwrapPromise<TResult> (Task outerTask, bool lookForOce);
public virtual void MarkAborted (System.Threading.ThreadAbortException e);
New Namespace System.Buffers.Binary
New Type: System.Buffers.Binary.BinaryPrimitives
public static class BinaryPrimitives {
// methods
public static short ReadInt16BigEndian (System.ReadOnlySpan<byte> buffer);
public static short ReadInt16LittleEndian (System.ReadOnlySpan<byte> buffer);
public static int ReadInt32BigEndian (System.ReadOnlySpan<byte> buffer);
public static int ReadInt32LittleEndian (System.ReadOnlySpan<byte> buffer);
public static long ReadInt64BigEndian (System.ReadOnlySpan<byte> buffer);
public static long ReadInt64LittleEndian (System.ReadOnlySpan<byte> buffer);
public static T ReadMachineEndian<T> (System.ReadOnlySpan<byte> buffer);
public static ushort ReadUInt16BigEndian (System.ReadOnlySpan<byte> buffer);
public static ushort ReadUInt16LittleEndian (System.ReadOnlySpan<byte> buffer);
public static uint ReadUInt32BigEndian (System.ReadOnlySpan<byte> buffer);
public static uint ReadUInt32LittleEndian (System.ReadOnlySpan<byte> buffer);
public static ulong ReadUInt64BigEndian (System.ReadOnlySpan<byte> buffer);
public static ulong ReadUInt64LittleEndian (System.ReadOnlySpan<byte> buffer);
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> buffer, out short value);
public static bool TryReadInt16LittleEndian (System.ReadOnlySpan<byte> buffer, out short value);
public static bool TryReadInt32BigEndian (System.ReadOnlySpan<byte> buffer, out int value);
public static bool TryReadInt32LittleEndian (System.ReadOnlySpan<byte> buffer, out int value);
public static bool TryReadInt64BigEndian (System.ReadOnlySpan<byte> buffer, out long value);
public static bool TryReadInt64LittleEndian (System.ReadOnlySpan<byte> buffer, out long value);
public static bool TryReadMachineEndian<T> (System.ReadOnlySpan<byte> buffer, out T value);
public static bool TryReadUInt16BigEndian (System.ReadOnlySpan<byte> buffer, out ushort value);
public static bool TryReadUInt16LittleEndian (System.ReadOnlySpan<byte> buffer, out ushort value);
public static bool TryReadUInt32BigEndian (System.ReadOnlySpan<byte> buffer, out uint value);
public static bool TryReadUInt32LittleEndian (System.ReadOnlySpan<byte> buffer, out uint value);
public static bool TryReadUInt64BigEndian (System.ReadOnlySpan<byte> buffer, out ulong value);
public static bool TryReadUInt64LittleEndian (System.ReadOnlySpan<byte> buffer, out ulong value);
public static bool TryWriteInt16BigEndian (System.Span<byte> buffer, short value);
public static bool TryWriteInt16LittleEndian (System.Span<byte> buffer, short value);
public static bool TryWriteInt32BigEndian (System.Span<byte> buffer, int value);
public static bool TryWriteInt32LittleEndian (System.Span<byte> buffer, int value);
public static bool TryWriteInt64BigEndian (System.Span<byte> buffer, long value);
public static bool TryWriteInt64LittleEndian (System.Span<byte> buffer, long value);
public static bool TryWriteMachineEndian<T> (System.Span<byte> buffer, ref T value);
public static bool TryWriteUInt16BigEndian (System.Span<byte> buffer, ushort value);
public static bool TryWriteUInt16LittleEndian (System.Span<byte> buffer, ushort value);
public static bool TryWriteUInt32BigEndian (System.Span<byte> buffer, uint value);
public static bool TryWriteUInt32LittleEndian (System.Span<byte> buffer, uint value);
public static bool TryWriteUInt64BigEndian (System.Span<byte> buffer, ulong value);
public static bool TryWriteUInt64LittleEndian (System.Span<byte> buffer, ulong value);
public static void WriteInt16BigEndian (System.Span<byte> buffer, short value);
public static void WriteInt16LittleEndian (System.Span<byte> buffer, short value);
public static void WriteInt32BigEndian (System.Span<byte> buffer, int value);
public static void WriteInt32LittleEndian (System.Span<byte> buffer, int value);
public static void WriteInt64BigEndian (System.Span<byte> buffer, long value);
public static void WriteInt64LittleEndian (System.Span<byte> buffer, long value);
public static void WriteMachineEndian<T> (System.Span<byte> buffer, ref T value);
public static void WriteUInt16BigEndian (System.Span<byte> buffer, ushort value);
public static void WriteUInt16LittleEndian (System.Span<byte> buffer, ushort value);
public static void WriteUInt32BigEndian (System.Span<byte> buffer, uint value);
public static void WriteUInt32LittleEndian (System.Span<byte> buffer, uint value);
public static void WriteUInt64BigEndian (System.Span<byte> buffer, ulong value);
public static void WriteUInt64LittleEndian (System.Span<byte> buffer, ulong value);
}
System.Core.dll
Namespace System.Security.Cryptography
New Type: System.Security.Cryptography.IncrementalHash
public sealed class IncrementalHash : System.IDisposable {
// properties
public HashAlgorithmName AlgorithmName { get; }
// methods
public void AppendData (byte[] data);
public void AppendData (byte[] data, int offset, int count);
public static IncrementalHash CreateHMAC (HashAlgorithmName hashAlgorithm, byte[] key);
public static IncrementalHash CreateHash (HashAlgorithmName hashAlgorithm);
public virtual void Dispose ();
public byte[] GetHashAndReset ();
}
System.dll
Namespace System
New Type: System.StringNormalizationExtensions
public static class StringNormalizationExtensions {
// methods
public static bool IsNormalized (this string strInput);
public static bool IsNormalized (this string strInput, Text.NormalizationForm normalizationForm);
public static string Normalize (this string strInput);
public static string Normalize (this string strInput, Text.NormalizationForm normalizationForm);
}
Namespace System.Diagnostics
New Type: System.Diagnostics.StackFrameExtensions
public static class StackFrameExtensions {
// methods
public static IntPtr GetNativeIP (this StackFrame stackFrame);
public static IntPtr GetNativeImageBase (this StackFrame stackFrame);
public static bool HasILOffset (this StackFrame stackFrame);
public static bool HasMethod (this StackFrame stackFrame);
public static bool HasNativeImage (this StackFrame stackFrame);
public static bool HasSource (this StackFrame stackFrame);
}
Namespace System.IO.Compression
Type Changed: System.IO.Compression.GZipStream
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.Task WriteAsync (System.ReadOnlyMemory<byte> source, System.Threading.CancellationToken cancellationToken);
Namespace System.Net
Type Changed: System.Net.FtpWebRequest
Added properties:
public override Cache.RequestCachePolicy CachePolicy { get; set; }
public static Cache.RequestCachePolicy DefaultCachePolicy { get; set; }
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.Task SendAsync (System.ReadOnlyMemory<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, System.Threading.CancellationToken cancellationToken);
Type Changed: System.Net.WebSockets.WebSocket
Added methods:
public static WebSocket CreateFromStream (System.IO.Stream stream, bool isServer, string subProtocol, System.TimeSpan keepAliveInterval, System.Memory<byte> buffer);
public virtual System.Threading.Tasks.ValueTask<ValueWebSocketReceiveResult> ReceiveAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task SendAsync (System.ReadOnlyMemory<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, System.Threading.CancellationToken cancellationToken);
Namespace System.Text.RegularExpressions
Type Changed: System.Text.RegularExpressions.CaptureCollection
Added interfaces:
System.Collections.Generic.ICollection<Capture>
System.Collections.Generic.IEnumerable<Capture>
System.Collections.Generic.IList<Capture>
System.Collections.Generic.IReadOnlyCollection<Capture>
System.Collections.Generic.IReadOnlyList<Capture>
System.Collections.IList
Added method:
public virtual void CopyTo (Capture[] array, int arrayIndex);
Type Changed: System.Text.RegularExpressions.GroupCollection
Added interfaces:
System.Collections.Generic.ICollection<Group>
System.Collections.Generic.IEnumerable<Group>
System.Collections.Generic.IList<Group>
System.Collections.Generic.IReadOnlyCollection<Group>
System.Collections.Generic.IReadOnlyList<Group>
System.Collections.IList
Added method:
public virtual void CopyTo (Group[] array, int arrayIndex);
Type Changed: System.Text.RegularExpressions.MatchCollection
Added interfaces:
System.Collections.Generic.ICollection<Match>
System.Collections.Generic.IEnumerable<Match>
System.Collections.Generic.IList<Match>
System.Collections.Generic.IReadOnlyCollection<Match>
System.Collections.Generic.IReadOnlyList<Match>
System.Collections.IList
Added method:
public virtual void CopyTo (Match[] array, int arrayIndex);
Type Changed: System.Text.RegularExpressions.Regex
Modified fields:
---[NonSerialized]
---public readonly System.TimeSpan InfiniteMatchTimeout;
Modified methods:
-protected bool UseOptionR ()
+protected bool UseOptionR ()
New Namespace System.Security
New Type: System.Security.SecureStringMarshal
public static class SecureStringMarshal {
// methods
public static IntPtr SecureStringToCoTaskMemAnsi (SecureString s);
public static IntPtr SecureStringToCoTaskMemUnicode (SecureString s);
public static IntPtr SecureStringToGlobalAllocAnsi (SecureString s);
public static IntPtr SecureStringToGlobalAllocUnicode (SecureString s);
}
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.Runtime.Serialization.dll
Namespace System.Runtime.Serialization
New Type: System.Runtime.Serialization.DataContractSerializerExtensions
public static class DataContractSerializerExtensions {
// methods
public static ISerializationSurrogateProvider GetSerializationSurrogateProvider (this DataContractSerializer serializer);
public static void SetSerializationSurrogateProvider (this DataContractSerializer serializer, ISerializationSurrogateProvider provider);
}
New Type: System.Runtime.Serialization.ISerializationSurrogateProvider
public interface ISerializationSurrogateProvider {
// methods
public virtual object GetDeserializedObject (object obj, System.Type targetType);
public virtual object GetObjectToSerialize (object obj, System.Type targetType);
public virtual System.Type GetSurrogateType (System.Type type);
}
System.Xml.Linq.dll
Namespace System.Xml.XPath
New Type: System.Xml.XPath.XDocumentExtensions
public static class XDocumentExtensions {
// methods
public static IXPathNavigable ToXPathNavigable (this System.Xml.Linq.XNode node);
}
Xamarin.TVOS.dll
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.Task WriteAsync (System.ReadOnlyMemory<byte> source, System.Threading.CancellationToken cancellationToken);
Namespace Foundation
Type Changed: Foundation.NSErrorException
Added property:
public override string Message { get; }
Namespace ObjCRuntime
Type Changed: ObjCRuntime.Constants
Modified fields:
-public const string Version = "11.14.0";
+public const string Version = "11.16.0";
Type Changed: ObjCRuntime.Runtime
Added method:
public static void ReleaseBlockOnMainThread (IntPtr block);