Xamarin.TVOS SDK API diff: 12.10.0 vs 12.16.0

Mono.Security.dll

Namespace Mono.Security.Protocol.Tls

Type Changed: Mono.Security.Protocol.Tls.SslClientStream

Added interface:

System.IAsyncDisposable

Type Changed: Mono.Security.Protocol.Tls.SslServerStream

Added interface:

System.IAsyncDisposable

Type Changed: Mono.Security.Protocol.Tls.SslStreamBase

Added interface:

System.IAsyncDisposable

MonoTouch.NUnitLite.dll

Namespace MonoTouch.NUnit

Type Changed: MonoTouch.NUnit.NUnitOutputTextWriter

Added interface:

System.IAsyncDisposable

Type Changed: MonoTouch.NUnit.TcpTextWriter

Added interface:

System.IAsyncDisposable

Namespace NUnit.Framework.Api

Type Changed: NUnit.Framework.Api.ResultState

Added method:

public override bool Equals (object o);

Namespace NUnit.Framework.Constraints

Type Changed: NUnit.Framework.Constraints.MessageWriter

Added interface:

System.IAsyncDisposable

Namespace NUnit.Framework.Internal

Type Changed: NUnit.Framework.Internal.Test

Modified fields:

-[NonSerialized]
++[NonSerialized]
-protected System.Reflection.MethodInfo[] setUpMethods;
++protected System.Reflection.MethodInfo[] setUpMethods;
-[NonSerialized]
++[NonSerialized]
-protected System.Reflection.MethodInfo[] tearDownMethods;
++protected System.Reflection.MethodInfo[] tearDownMethods;

Type Changed: NUnit.Framework.Internal.TextMessageWriter

Added interface:

System.IAsyncDisposable

Namespace NUnitLite.Runner

Type Changed: NUnitLite.Runner.CommandLineOptions

Added properties:

public string Android { get; }
public string Remote { get; }
public string WebAssembly { get; }
public string iOS { get; }

Type Changed: NUnitLite.Runner.ConsoleWriter

Added interface:

System.IAsyncDisposable

Type Changed: NUnitLite.Runner.DebugWriter

Added interface:

System.IAsyncDisposable

mscorlib.dll

Namespace System

Type Changed: System.AppDomain

Added methods:

public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access);
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, System.Collections.Generic.IEnumerable<Reflection.Emit.CustomAttributeBuilder> assemblyAttributes);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.Policy.Evidence evidence);
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir);
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, System.Collections.Generic.IEnumerable<Reflection.Emit.CustomAttributeBuilder> assemblyAttributes, Security.SecurityContextSource securityContextSource);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, bool isSynchronized, System.Collections.Generic.IEnumerable<Reflection.Emit.CustomAttributeBuilder> assemblyAttributes);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions, bool isSynchronized);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions, bool isSynchronized, System.Collections.Generic.IEnumerable<Reflection.Emit.CustomAttributeBuilder> assemblyAttributes);

Type Changed: System.AppDomainSetup

Added properties:

public string AppDomainManagerAssembly { get; set; }
public string AppDomainManagerType { get; set; }
public string[] PartialTrustVisibleAssemblies { get; set; }

Type Changed: System.BitConverter

Added methods:

public static bool ToBoolean (System.ReadOnlySpan<byte> value);
public static char ToChar (System.ReadOnlySpan<byte> value);
public static double ToDouble (System.ReadOnlySpan<byte> value);
public static short ToInt16 (System.ReadOnlySpan<byte> value);
public static long ToInt64 (System.ReadOnlySpan<byte> value);
public static float ToSingle (System.ReadOnlySpan<byte> value);
public static ushort ToUInt16 (System.ReadOnlySpan<byte> value);
public static bool TryWriteBytes (System.Span<byte> destination, bool value);
public static bool TryWriteBytes (System.Span<byte> destination, char value);
public static bool TryWriteBytes (System.Span<byte> destination, double value);
public static bool TryWriteBytes (System.Span<byte> destination, short value);
public static bool TryWriteBytes (System.Span<byte> destination, int value);
public static bool TryWriteBytes (System.Span<byte> destination, long value);
public static bool TryWriteBytes (System.Span<byte> destination, float value);
public static bool TryWriteBytes (System.Span<byte> destination, ushort value);
public static bool TryWriteBytes (System.Span<byte> destination, uint value);
public static bool TryWriteBytes (System.Span<byte> destination, ulong value);

Type Changed: System.DateTime

Added field:

public static DateTime UnixEpoch;

Added methods:

public static DateTime Parse (System.ReadOnlySpan<char> s, IFormatProvider provider, Globalization.DateTimeStyles styles);
public static DateTime ParseExact (System.ReadOnlySpan<char> s, System.ReadOnlySpan<char> format, IFormatProvider provider, Globalization.DateTimeStyles style);
public static DateTime ParseExact (System.ReadOnlySpan<char> s, string[] formats, IFormatProvider provider, Globalization.DateTimeStyles style);
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 DateTime result);
public static bool TryParse (System.ReadOnlySpan<char> s, IFormatProvider provider, Globalization.DateTimeStyles styles, out DateTime result);
public static bool TryParseExact (System.ReadOnlySpan<char> s, System.ReadOnlySpan<char> format, IFormatProvider provider, Globalization.DateTimeStyles style, out DateTime result);
public static bool TryParseExact (System.ReadOnlySpan<char> s, string[] formats, IFormatProvider provider, Globalization.DateTimeStyles style, out DateTime result);

Type Changed: System.DateTimeOffset

Added field:

public static DateTimeOffset UnixEpoch;

Added methods:

public static DateTimeOffset Parse (System.ReadOnlySpan<char> input, IFormatProvider formatProvider, Globalization.DateTimeStyles styles);
public static DateTimeOffset ParseExact (System.ReadOnlySpan<char> input, System.ReadOnlySpan<char> format, IFormatProvider formatProvider, Globalization.DateTimeStyles styles);
public static DateTimeOffset ParseExact (System.ReadOnlySpan<char> input, string[] formats, IFormatProvider formatProvider, Globalization.DateTimeStyles styles);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider formatProvider);
public static bool TryParse (System.ReadOnlySpan<char> input, out DateTimeOffset result);
public static bool TryParse (System.ReadOnlySpan<char> input, IFormatProvider formatProvider, Globalization.DateTimeStyles styles, out DateTimeOffset result);
public static bool TryParseExact (System.ReadOnlySpan<char> input, System.ReadOnlySpan<char> format, IFormatProvider formatProvider, Globalization.DateTimeStyles styles, out DateTimeOffset result);
public static bool TryParseExact (System.ReadOnlySpan<char> input, string[] formats, IFormatProvider formatProvider, Globalization.DateTimeStyles styles, out DateTimeOffset result);

Type Changed: System.Decimal

Modified methods:

-public Decimal Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style = 7, IFormatProvider provider = NULL)
+public Decimal Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style = 111, IFormatProvider provider = NULL)

Type Changed: System.Enum

Added methods:

public static TEnum Parse<TEnum> (string value);
public static TEnum Parse<TEnum> (string value, bool ignoreCase);
public static bool TryParse (Type enumType, string value, out object result);
public static bool TryParse (Type enumType, string value, bool ignoreCase, out object result);

Type Changed: System.GC

Added method:

public static long GetAllocatedBytesForCurrentThread ();

Type Changed: System.IntPtr

Added interface:

System.IEquatable<IntPtr>

Type Changed: System.Math

Added methods:

public static double Acosh (double d);
public static double Asinh (double d);
public static double Atanh (double d);
public static double Cbrt (double d);

Type Changed: System.MemoryExtensions

Added methods:

public static System.ReadOnlyMemory<char> AsMemory (this string text, Index startIndex);
public static System.ReadOnlyMemory<char> AsMemory (this string text, Range range);
public static System.Memory<T> AsMemory<T> (this T[] array, Index startIndex);
public static System.Memory<T> AsMemory<T> (this T[] array, Range range);
public static System.Span<T> AsSpan<T> (this System.ArraySegment<T> segment, Index startIndex);
public static System.Span<T> AsSpan<T> (this System.ArraySegment<T> segment, Range range);
public static System.Span<T> AsSpan<T> (this T[] array, Index startIndex);
public static System.Span<T> AsSpan<T> (this T[] array, Range range);

Type Changed: System.Memory`1

Added interface:

System.IEquatable<System.Memory<T>>

Type Changed: System.Random

Added method:

public virtual void NextBytes (System.Span<byte> buffer);

Type Changed: System.ReadOnlyMemory`1

Added interface:

System.IEquatable<System.ReadOnlyMemory<T>>

Type Changed: System.StringComparer

Added method:

public static StringComparer Create (Globalization.CultureInfo culture, Globalization.CompareOptions options);

Type Changed: System.TimeSpan

Added methods:

public TimeSpan Divide (double divisor);
public double Divide (TimeSpan ts);
public TimeSpan Multiply (double factor);
public static TimeSpan Parse (System.ReadOnlySpan<char> input, IFormatProvider formatProvider);
public static TimeSpan ParseExact (System.ReadOnlySpan<char> input, System.ReadOnlySpan<char> format, IFormatProvider formatProvider, Globalization.TimeSpanStyles styles);
public static TimeSpan ParseExact (System.ReadOnlySpan<char> input, string[] formats, IFormatProvider formatProvider, Globalization.TimeSpanStyles styles);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider formatProvider);
public static bool TryParse (System.ReadOnlySpan<char> s, out TimeSpan result);
public static bool TryParse (System.ReadOnlySpan<char> input, IFormatProvider formatProvider, out TimeSpan result);
public static bool TryParseExact (System.ReadOnlySpan<char> input, System.ReadOnlySpan<char> format, IFormatProvider formatProvider, out TimeSpan result);
public static bool TryParseExact (System.ReadOnlySpan<char> input, string[] formats, IFormatProvider formatProvider, out TimeSpan result);
public static bool TryParseExact (System.ReadOnlySpan<char> input, System.ReadOnlySpan<char> format, IFormatProvider formatProvider, Globalization.TimeSpanStyles styles, out TimeSpan result);
public static bool TryParseExact (System.ReadOnlySpan<char> input, string[] formats, IFormatProvider formatProvider, Globalization.TimeSpanStyles styles, out TimeSpan result);
public static TimeSpan op_Multiply (double factor, TimeSpan timeSpan);
public static TimeSpan op_Multiply (TimeSpan timeSpan, double factor);

Type Changed: System.Type

Removed interfaces:

Runtime.InteropServices._MemberInfo
Runtime.InteropServices._Type

Modified properties:

-public virtual Reflection.TypeAttributes Attributes { get; }
+public final Reflection.TypeAttributes Attributes { get; }
-public virtual bool HasElementType { get; }
+public final bool HasElementType { get; }
-public virtual bool IsAbstract { get; }
+public final bool IsAbstract { get; }
-public virtual bool IsAnsiClass { get; }
+public final bool IsAnsiClass { get; }
-public virtual bool IsArray { get; }
+public final bool IsArray { get; }
-public virtual bool IsAutoClass { get; }
+public final bool IsAutoClass { get; }
-public virtual bool IsAutoLayout { get; }
+public final bool IsAutoLayout { get; }
-public virtual bool IsByRef { get; }
+public final bool IsByRef { get; }
-public virtual bool IsCOMObject { get; }
+public final bool IsCOMObject { get; }
-public virtual bool IsClass { get; }
+public final bool IsClass { get; }
-public virtual bool IsContextful { get; }
+public final bool IsContextful { get; }
-public virtual bool IsExplicitLayout { get; }
+public final bool IsExplicitLayout { get; }
-public virtual bool IsImport { get; }
+public final bool IsImport { get; }
-public virtual bool IsInterface { get; }
+public final bool IsInterface { get; }
-public virtual bool IsLayoutSequential { get; }
+public final bool IsLayoutSequential { get; }
-public virtual bool IsMarshalByRef { get; }
+public final bool IsMarshalByRef { get; }
-public virtual bool IsNestedAssembly { get; }
+public final bool IsNestedAssembly { get; }
-public virtual bool IsNestedFamANDAssem { get; }
+public final bool IsNestedFamANDAssem { get; }
-public virtual bool IsNestedFamORAssem { get; }
+public final bool IsNestedFamORAssem { get; }
-public virtual bool IsNestedFamily { get; }
+public final bool IsNestedFamily { get; }
-public virtual bool IsNestedPrivate { get; }
+public final bool IsNestedPrivate { get; }
-public virtual bool IsNestedPublic { get; }
+public final bool IsNestedPublic { get; }
-public virtual bool IsNotPublic { get; }
+public final bool IsNotPublic { get; }
-public virtual bool IsPointer { get; }
+public final bool IsPointer { get; }
-public virtual bool IsPrimitive { get; }
+public final bool IsPrimitive { get; }
-public virtual bool IsPublic { get; }
+public final bool IsPublic { get; }
-public virtual bool IsSealed { get; }
+public final bool IsSealed { get; }
-public virtual bool IsSpecialName { get; }
+public final bool IsSpecialName { get; }
-public virtual bool IsUnicodeClass { get; }
+public final bool IsUnicodeClass { get; }
-public virtual bool IsValueType { get; }
+public final bool IsValueType { get; }
-public virtual Reflection.ConstructorInfo TypeInitializer { get; }
+public final Reflection.ConstructorInfo TypeInitializer { get; }

Added properties:

public virtual bool IsByRefLike { get; }
public virtual bool IsGenericMethodParameter { get; }
public virtual bool IsGenericTypeParameter { get; }
public virtual bool IsSignatureType { get; }
public virtual bool IsTypeDefinition { get; }
public virtual bool IsVariableBoundArray { get; }

Modified methods:

-public virtual Reflection.ConstructorInfo GetConstructor (Type[] types)
+public final Reflection.ConstructorInfo GetConstructor (Type[] types)
-public virtual Reflection.ConstructorInfo GetConstructor (Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Type[] types, Reflection.ParameterModifier[] modifiers)
+public final Reflection.ConstructorInfo GetConstructor (Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Type[] types, Reflection.ParameterModifier[] modifiers)
-public virtual Reflection.ConstructorInfo GetConstructor (Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Reflection.CallingConventions callConvention, Type[] types, Reflection.ParameterModifier[] modifiers)
+public final Reflection.ConstructorInfo GetConstructor (Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Reflection.CallingConventions callConvention, Type[] types, Reflection.ParameterModifier[] modifiers)
-public virtual Reflection.ConstructorInfo[] GetConstructors ()
+public final Reflection.ConstructorInfo[] GetConstructors ()
-public virtual Reflection.EventInfo GetEvent (string name)
+public final Reflection.EventInfo GetEvent (string name)
-public virtual Reflection.FieldInfo GetField (string name)
+public final Reflection.FieldInfo GetField (string name)
-public virtual Reflection.FieldInfo[] GetFields ()
+public final Reflection.FieldInfo[] GetFields ()
-public virtual Type GetInterface (string name)
+public final Type GetInterface (string name)
-public virtual Reflection.MemberInfo[] GetMember (string name)
+public final Reflection.MemberInfo[] GetMember (string name)
-public virtual Reflection.MemberInfo[] GetMembers ()
+public final Reflection.MemberInfo[] GetMembers ()
-public virtual Reflection.MethodInfo GetMethod (string name)
+public final Reflection.MethodInfo GetMethod (string name)
-public virtual Reflection.MethodInfo GetMethod (string name, Type[] types)
+public final Reflection.MethodInfo GetMethod (string name, Type[] types)
-public virtual Reflection.MethodInfo GetMethod (string name, Type[] types, Reflection.ParameterModifier[] modifiers)
+public final Reflection.MethodInfo GetMethod (string name, Type[] types, Reflection.ParameterModifier[] modifiers)
-public virtual Reflection.MethodInfo GetMethod (string name, Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Reflection.CallingConventions callConvention, Type[] types, Reflection.ParameterModifier[] modifiers)
+public final Reflection.MethodInfo GetMethod (string name, Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Reflection.CallingConventions callConvention, Type[] types, Reflection.ParameterModifier[] modifiers)
-public virtual Reflection.MethodInfo[] GetMethods ()
+public final Reflection.MethodInfo[] GetMethods ()
-public virtual Type GetNestedType (string name)
+public final Type GetNestedType (string name)
-public virtual Type[] GetNestedTypes ()
+public final Type[] GetNestedTypes ()
-public virtual Reflection.PropertyInfo[] GetProperties ()
+public final Reflection.PropertyInfo[] GetProperties ()
-public virtual Reflection.PropertyInfo GetProperty (string name)
+public final Reflection.PropertyInfo GetProperty (string name)
-public virtual Reflection.PropertyInfo GetProperty (string name, Type returnType)
+public final Reflection.PropertyInfo GetProperty (string name, Type returnType)
-public virtual Reflection.PropertyInfo GetProperty (string name, Type[] types)
+public final Reflection.PropertyInfo GetProperty (string name, Type[] types)
-public virtual Reflection.PropertyInfo GetProperty (string name, Type returnType, Type[] types)
+public final Reflection.PropertyInfo GetProperty (string name, Type returnType, Type[] types)
-public virtual Reflection.PropertyInfo GetProperty (string name, Type returnType, Type[] types, Reflection.ParameterModifier[] modifiers)
+public final Reflection.PropertyInfo GetProperty (string name, Type returnType, Type[] types, Reflection.ParameterModifier[] modifiers)
-public virtual Type GetType ()
+public final Type GetType ()
-public virtual object InvokeMember (string name, Reflection.BindingFlags invokeAttr, Reflection.Binder binder, object target, object[] args)
+public final object InvokeMember (string name, Reflection.BindingFlags invokeAttr, Reflection.Binder binder, object target, object[] args)
-public virtual object InvokeMember (string name, Reflection.BindingFlags invokeAttr, Reflection.Binder binder, object target, object[] args, Globalization.CultureInfo culture)
+public final object InvokeMember (string name, Reflection.BindingFlags invokeAttr, Reflection.Binder binder, object target, object[] args, Globalization.CultureInfo culture)

Added methods:

public Reflection.MethodInfo GetMethod (string name, int genericParameterCount, Type[] types);
public Reflection.MethodInfo GetMethod (string name, int genericParameterCount, Type[] types, Reflection.ParameterModifier[] modifiers);
public Reflection.MethodInfo GetMethod (string name, int genericParameterCount, Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Type[] types, Reflection.ParameterModifier[] modifiers);
public Reflection.MethodInfo GetMethod (string name, int genericParameterCount, Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Reflection.CallingConventions callConvention, Type[] types, Reflection.ParameterModifier[] modifiers);
protected virtual Reflection.MethodInfo GetMethodImpl (string name, int genericParameterCount, Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Reflection.CallingConventions callConvention, Type[] types, Reflection.ParameterModifier[] modifiers);
public static Type MakeGenericMethodParameter (int position);
public static Type MakeGenericSignatureType (Type genericTypeDefinition, Type[] typeArguments);

Type Changed: System.UIntPtr

Added interface:

System.IEquatable<UIntPtr>

Type Changed: System.Version

Added methods:

public static Version Parse (System.ReadOnlySpan<char> input);
public bool TryFormat (System.Span<char> destination, out int charsWritten);
public bool TryFormat (System.Span<char> destination, int fieldCount, out int charsWritten);
public static bool TryParse (System.ReadOnlySpan<char> input, out Version result);

Type Changed: System._AppDomain

Added methods:

public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.Policy.Evidence evidence);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions, bool isSynchronized);

New Type: System.CultureAwareComparer

[Serializable]
public sealed class CultureAwareComparer : System.StringComparer, System.Collections.Generic.IComparer<string>, System.Collections.Generic.IEqualityComparer<string>, Collections.IComparer, Collections.IEqualityComparer, Runtime.Serialization.ISerializable {
	// methods
	public override int Compare (string x, string y);
	public override bool Equals (object obj);
	public override bool Equals (string x, string y);
	public override int GetHashCode ();
	public override int GetHashCode (string obj);
	public virtual void GetObjectData (Runtime.Serialization.SerializationInfo info, Runtime.Serialization.StreamingContext context);
}

New Type: System.IAsyncDisposable

public interface IAsyncDisposable {
	// methods
	public virtual Threading.Tasks.ValueTask DisposeAsync ();
}

New Type: System.Index

public struct Index, System.IEquatable<Index> {
	// constructors
	public Index (int value, bool fromEnd);
	// properties
	public static Index End { get; }
	public bool IsFromEnd { get; }
	public static Index Start { get; }
	public int Value { get; }
	// methods
	public virtual bool Equals (Index other);
	public override bool Equals (object value);
	public static Index FromEnd (int value);
	public static Index FromStart (int value);
	public override int GetHashCode ();
	public int GetOffset (int length);
	public override string ToString ();
	public static Index op_Implicit (int value);
}

New Type: System.OrdinalComparer

[Serializable]
public class OrdinalComparer : System.StringComparer, System.Collections.Generic.IComparer<string>, System.Collections.Generic.IEqualityComparer<string>, Collections.IComparer, Collections.IEqualityComparer {
	// methods
	public override int Compare (string x, string y);
	public override bool Equals (object obj);
	public override bool Equals (string x, string y);
	public override int GetHashCode ();
	public override int GetHashCode (string obj);
}

New Type: System.Range

public struct Range, System.IEquatable<Range> {
	// constructors
	public Range (Index start, Index end);
	// properties
	public static Range All { get; }
	public Index End { get; }
	public Index Start { get; }
	// methods
	public static Range EndAt (Index end);
	public override bool Equals (object value);
	public virtual bool Equals (Range other);
	public override int GetHashCode ();
	public System.ValueTuple<Int32,System.Int32> GetOffsetAndLength (int length);
	public static Range StartAt (Index start);
	public override string ToString ();
}

Namespace System.Collections.Generic

New Type: System.Collections.Generic.IAsyncEnumerable`1

public interface IAsyncEnumerable`1 {
	// methods
	public virtual System.Collections.Generic.IAsyncEnumerator<T> GetAsyncEnumerator (System.Threading.CancellationToken cancellationToken);
}

New Type: System.Collections.Generic.IAsyncEnumerator`1

public interface IAsyncEnumerator`1 : System.IAsyncDisposable {
	// properties
	public virtual T Current { get; }
	// methods
	public virtual System.Threading.Tasks.ValueTask<bool> MoveNextAsync ();
}

New Type: System.Collections.Generic.Queue`1

[Serializable]
public class Queue`1 : System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection, System.Collections.IEnumerable {
	// constructors
	public Queue`1 ();
	public Queue`1 (System.Collections.Generic.IEnumerable<T> collection);
	public Queue`1 (int capacity);
	// properties
	public virtual int Count { get; }
	// methods
	public void Clear ();
	public bool Contains (T item);
	public void CopyTo (T[] array, int arrayIndex);
	public T Dequeue ();
	public void Enqueue (T item);
	public System.Collections.Generic.Queue<Enumerator[T> GetEnumerator ();
	public T Peek ();
	public T[] ToArray ();
	public void TrimExcess ();
	public bool TryDequeue (out T result);
	public bool TryPeek (out T result);

	// inner types
	[Serializable]
	public struct Enumerator, System.Collections.Generic.IEnumerator<T>, System.Collections.IEnumerator, System.IDisposable {
		// properties
		public virtual T Current { get; }
		// methods
		public virtual void Dispose ();
		public virtual bool MoveNext ();
	}
}

New Type: System.Collections.Generic.Stack`1

[Serializable]
public class Stack`1 : System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection, System.Collections.IEnumerable {
	// constructors
	public Stack`1 ();
	public Stack`1 (System.Collections.Generic.IEnumerable<T> collection);
	public Stack`1 (int capacity);
	// properties
	public virtual int Count { get; }
	// methods
	public void Clear ();
	public bool Contains (T item);
	public void CopyTo (T[] array, int arrayIndex);
	public System.Collections.Generic.Stack<Enumerator[T> GetEnumerator ();
	public T Peek ();
	public T Pop ();
	public void Push (T item);
	public T[] ToArray ();
	public void TrimExcess ();
	public bool TryPeek (out T result);
	public bool TryPop (out T result);

	// inner types
	[Serializable]
	public struct Enumerator, System.Collections.Generic.IEnumerator<T>, System.Collections.IEnumerator, System.IDisposable {
		// properties
		public virtual T Current { get; }
		// methods
		public virtual void Dispose ();
		public virtual bool MoveNext ();
	}
}

Namespace System.Diagnostics.Tracing

Type Changed: System.Diagnostics.Tracing.EventCounter

Added interface:

System.IDisposable

Added method:

public virtual void Dispose ();

Type Changed: System.Diagnostics.Tracing.EventListener

Added events:

public event System.EventHandler<EventSourceCreatedEventArgs> EventSourceCreated;
public event System.EventHandler<EventWrittenEventArgs> EventWritten;

New Type: System.Diagnostics.Tracing.EventSourceCreatedEventArgs

public class EventSourceCreatedEventArgs : System.EventArgs {
	// constructors
	public EventSourceCreatedEventArgs ();
	// properties
	public EventSource EventSource { get; }
}

Namespace System.Globalization

New Type: System.Globalization.ISOWeek

public static class ISOWeek {
	// methods
	public static int GetWeekOfYear (System.DateTime date);
	public static int GetWeeksInYear (int year);
	public static int GetYear (System.DateTime date);
	public static System.DateTime GetYearEnd (int year);
	public static System.DateTime GetYearStart (int year);
	public static System.DateTime ToDateTime (int year, int week, System.DayOfWeek dayOfWeek);
}

Namespace System.IO

Type Changed: System.IO.BinaryReader

Added methods:

public virtual int Read (System.Span<byte> buffer);
public virtual int Read (System.Span<char> buffer);

Type Changed: System.IO.BinaryWriter

Added interface:

System.IAsyncDisposable

Added methods:

public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
public virtual void Write (System.ReadOnlySpan<byte> buffer);
public virtual void Write (System.ReadOnlySpan<char> buffer);

Type Changed: System.IO.BufferedStream

Added interface:

System.IAsyncDisposable

Added properties:

public int BufferSize { get; }
public Stream UnderlyingStream { get; }

Added methods:

public override void CopyTo (Stream destination, int bufferSize);
public override System.Threading.Tasks.Task CopyToAsync (Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.ValueTask DisposeAsync ();
public override int Read (System.Span<byte> destination);
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);

Type Changed: System.IO.Directory

Added methods:

public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path, string searchPattern, EnumerationOptions enumerationOptions);
public static System.Collections.Generic.IEnumerable<string> EnumerateFileSystemEntries (string path, string searchPattern, EnumerationOptions enumerationOptions);
public static System.Collections.Generic.IEnumerable<string> EnumerateFiles (string path, string searchPattern, EnumerationOptions enumerationOptions);
public static string[] GetDirectories (string path, string searchPattern, EnumerationOptions enumerationOptions);
public static string[] GetFileSystemEntries (string path, string searchPattern, EnumerationOptions enumerationOptions);
public static string[] GetFiles (string path, string searchPattern, EnumerationOptions enumerationOptions);

Type Changed: System.IO.DirectoryInfo

Removed properties:

public override bool Exists { get; }
public override string Name { get; }

Removed method:

public override string ToString ();

Added methods:

public System.Collections.Generic.IEnumerable<DirectoryInfo> EnumerateDirectories (string searchPattern, EnumerationOptions enumerationOptions);
public System.Collections.Generic.IEnumerable<FileSystemInfo> EnumerateFileSystemInfos (string searchPattern, EnumerationOptions enumerationOptions);
public System.Collections.Generic.IEnumerable<FileInfo> EnumerateFiles (string searchPattern, EnumerationOptions enumerationOptions);
public DirectoryInfo[] GetDirectories (string searchPattern, EnumerationOptions enumerationOptions);
public FileSystemInfo[] GetFileSystemInfos (string searchPattern, EnumerationOptions enumerationOptions);
public FileInfo[] GetFiles (string searchPattern, EnumerationOptions enumerationOptions);

Type Changed: System.IO.File

Added methods:

public static System.Threading.Tasks.Task AppendAllLinesAsync (string path, System.Collections.Generic.IEnumerable<string> contents, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task AppendAllLinesAsync (string path, System.Collections.Generic.IEnumerable<string> contents, System.Text.Encoding encoding, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task AppendAllTextAsync (string path, string contents, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task AppendAllTextAsync (string path, string contents, System.Text.Encoding encoding, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<System.Byte[]> ReadAllBytesAsync (string path, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<System.String[]> ReadAllLinesAsync (string path, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<System.String[]> ReadAllLinesAsync (string path, System.Text.Encoding encoding, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<string> ReadAllTextAsync (string path, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<string> ReadAllTextAsync (string path, System.Text.Encoding encoding, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task WriteAllBytesAsync (string path, byte[] bytes, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task WriteAllLinesAsync (string path, System.Collections.Generic.IEnumerable<string> contents, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task WriteAllLinesAsync (string path, System.Collections.Generic.IEnumerable<string> contents, System.Text.Encoding encoding, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task WriteAllTextAsync (string path, string contents, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task WriteAllTextAsync (string path, string contents, System.Text.Encoding encoding, System.Threading.CancellationToken cancellationToken);

Type Changed: System.IO.FileInfo

Removed property:

public override bool Exists { get; }

Removed method:

public override string ToString ();

Type Changed: System.IO.FileStream

Added interface:

System.IAsyncDisposable

Modified properties:

 public ---virtual--- string Name { get; }

Type Changed: System.IO.FileSystemInfo

Modified properties:

-public abstract bool Exists { get; }
+public virtual bool Exists { get; }
-public abstract string Name { get; }
+public virtual string Name { get; }

Added method:

public override string ToString ();

Type Changed: System.IO.MemoryStream

Added interface:

System.IAsyncDisposable

Added methods:

public override void CopyTo (Stream destination, int bufferSize);
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);

Type Changed: System.IO.Path

Added methods:

public static System.ReadOnlySpan<char> GetDirectoryName (System.ReadOnlySpan<char> path);
public static System.ReadOnlySpan<char> GetExtension (System.ReadOnlySpan<char> path);
public static System.ReadOnlySpan<char> GetFileNameWithoutExtension (System.ReadOnlySpan<char> path);
public static string GetFullPath (string path, string basePath);
public static System.ReadOnlySpan<char> GetPathRoot (System.ReadOnlySpan<char> path);
public static string GetRelativePath (string relativeTo, string path);
public static bool HasExtension (System.ReadOnlySpan<char> path);
public static bool IsPathFullyQualified (System.ReadOnlySpan<char> path);
public static bool IsPathFullyQualified (string path);
public static bool IsPathRooted (System.ReadOnlySpan<char> path);
public static string Join (System.ReadOnlySpan<char> path1, System.ReadOnlySpan<char> path2);
public static string Join (System.ReadOnlySpan<char> path1, System.ReadOnlySpan<char> path2, System.ReadOnlySpan<char> path3);
public static bool TryJoin (System.ReadOnlySpan<char> path1, System.ReadOnlySpan<char> path2, System.Span<char> destination, out int charsWritten);
public static bool TryJoin (System.ReadOnlySpan<char> path1, System.ReadOnlySpan<char> path2, System.ReadOnlySpan<char> path3, System.Span<char> destination, out int charsWritten);

Type Changed: System.IO.Stream

Added interface:

System.IAsyncDisposable

Modified methods:

-public virtual int Read (System.Span<byte> destination)
+public virtual int Read (System.Span<byte> buffer)
-public virtual System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> destination, System.Threading.CancellationToken cancellationToken = NULL)
+public virtual System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = NULL)
-public virtual void Write (System.ReadOnlySpan<byte> source)
+public virtual void Write (System.ReadOnlySpan<byte> buffer)
-public virtual System.Threading.Tasks.ValueTask WriteAsync (System.ReadOnlyMemory<byte> source, System.Threading.CancellationToken cancellationToken = NULL)
+public virtual System.Threading.Tasks.ValueTask WriteAsync (System.ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken = NULL)

Added methods:

public System.Threading.Tasks.Task CopyToAsync (Stream destination, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();

Type Changed: System.IO.StreamReader

Added methods:

public override int Read (System.Span<char> buffer);
public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<char> buffer, System.Threading.CancellationToken cancellationToken);
public override int ReadBlock (System.Span<char> buffer);
public override System.Threading.Tasks.ValueTask<int> ReadBlockAsync (System.Memory<char> buffer, System.Threading.CancellationToken cancellationToken);

Type Changed: System.IO.StreamWriter

Added interface:

System.IAsyncDisposable

Added methods:

public override System.Threading.Tasks.ValueTask DisposeAsync ();
public override void Write (System.ReadOnlySpan<char> buffer);
public override System.Threading.Tasks.Task WriteAsync (System.ReadOnlyMemory<char> buffer, System.Threading.CancellationToken cancellationToken);
public override void WriteLine (System.ReadOnlySpan<char> value);
public override void WriteLine (string value);
public override System.Threading.Tasks.Task WriteLineAsync (System.ReadOnlyMemory<char> buffer, System.Threading.CancellationToken cancellationToken);

Type Changed: System.IO.StringWriter

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.TextReader

Added methods:

public virtual int Read (System.Span<char> buffer);
public virtual System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<char> buffer, System.Threading.CancellationToken cancellationToken);
public virtual int ReadBlock (System.Span<char> buffer);
public virtual System.Threading.Tasks.ValueTask<int> ReadBlockAsync (System.Memory<char> buffer, System.Threading.CancellationToken cancellationToken);

Type Changed: System.IO.TextWriter

Added interface:

System.IAsyncDisposable

Added methods:

public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
public virtual void Write (System.ReadOnlySpan<char> buffer);
public virtual System.Threading.Tasks.Task WriteAsync (System.ReadOnlyMemory<char> buffer, System.Threading.CancellationToken cancellationToken);
public virtual void WriteLine (System.ReadOnlySpan<char> buffer);
public virtual System.Threading.Tasks.Task WriteLineAsync (System.ReadOnlyMemory<char> buffer, System.Threading.CancellationToken cancellationToken);

Type Changed: System.IO.UnmanagedMemoryStream

Added interface:

System.IAsyncDisposable

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);

New Type: System.IO.EnumerationOptions

public class EnumerationOptions {
	// constructors
	public EnumerationOptions ();
	// properties
	public FileAttributes AttributesToSkip { get; set; }
	public int BufferSize { get; set; }
	public bool IgnoreInaccessible { get; set; }
	public MatchCasing MatchCasing { get; set; }
	public MatchType MatchType { get; set; }
	public bool RecurseSubdirectories { get; set; }
	public bool ReturnSpecialDirectories { get; set; }
}

New Type: System.IO.MatchCasing

[Serializable]
public enum MatchCasing {
	CaseInsensitive = 2,
	CaseSensitive = 1,
	PlatformDefault = 0,
}

New Type: System.IO.MatchType

[Serializable]
public enum MatchType {
	Simple = 0,
	Win32 = 1,
}

Namespace System.IO.IsolatedStorage

Type Changed: System.IO.IsolatedStorage.IsolatedStorage

Modified methods:

-protected abstract System.Security.Permissions.IsolatedStoragePermission GetPermission (System.Security.PermissionSet ps)
+protected virtual System.Security.Permissions.IsolatedStoragePermission GetPermission (System.Security.PermissionSet ps)

Type Changed: System.IO.IsolatedStorage.IsolatedStorageFileStream

Added interface:

System.IAsyncDisposable

Namespace System.Numerics

Type Changed: System.Numerics.Vector`1

Added constructor:

public Vector`1 (System.Span<T> values);

Namespace System.Reflection

Type Changed: System.Reflection.Assembly

Modified constructors:

-protected Assembly ()
+public Assembly ()

Added method:

public virtual System.Type[] GetForwardedTypes ();

Type Changed: System.Reflection.ConstructorInfo

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._MethodBase

Type Changed: System.Reflection.EventInfo

Removed interface:

System.Runtime.InteropServices._MemberInfo

Type Changed: System.Reflection.FieldInfo

Removed interface:

System.Runtime.InteropServices._MemberInfo

Type Changed: System.Reflection.MemberInfo

Removed interface:

System.Runtime.InteropServices._MemberInfo

Added method:

public virtual bool HasSameMetadataDefinitionAs (MemberInfo other);

Type Changed: System.Reflection.MethodBase

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._MethodBase

Added property:

public virtual bool IsConstructedGenericMethod { get; }

Modified methods:

-public virtual object Invoke (object obj, object[] parameters)
+public final object Invoke (object obj, object[] parameters)

Type Changed: System.Reflection.MethodInfo

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._MethodBase

Type Changed: System.Reflection.PropertyInfo

Removed interface:

System.Runtime.InteropServices._MemberInfo

Type Changed: System.Reflection.TypeDelegator

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._Type

Added properties:

public override bool IsByRefLike { get; }
public override bool IsCollectible { get; }
public override bool IsGenericMethodParameter { get; }
public override bool IsGenericTypeParameter { get; }
public override bool IsTypeDefinition { get; }

Type Changed: System.Reflection.TypeInfo

Added constructor:

protected TypeInfo ();

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._Type

New Type: System.Reflection.AssemblyExtensions

public static class AssemblyExtensions {
	// methods
	public static System.Type[] GetExportedTypes (Assembly assembly);
	public static Module[] GetModules (Assembly assembly);
	public static System.Type[] GetTypes (Assembly assembly);
}

New Type: System.Reflection.EventInfoExtensions

public static class EventInfoExtensions {
	// methods
	public static MethodInfo GetAddMethod (EventInfo eventInfo);
	public static MethodInfo GetAddMethod (EventInfo eventInfo, bool nonPublic);
	public static MethodInfo GetRaiseMethod (EventInfo eventInfo);
	public static MethodInfo GetRaiseMethod (EventInfo eventInfo, bool nonPublic);
	public static MethodInfo GetRemoveMethod (EventInfo eventInfo);
	public static MethodInfo GetRemoveMethod (EventInfo eventInfo, bool nonPublic);
}

New Type: System.Reflection.MemberInfoExtensions

public static class MemberInfoExtensions {
	// methods
	public static int GetMetadataToken (this MemberInfo member);
	public static bool HasMetadataToken (this MemberInfo member);
}

New Type: System.Reflection.MethodInfoExtensions

public static class MethodInfoExtensions {
	// methods
	public static MethodInfo GetBaseDefinition (MethodInfo method);
}

New Type: System.Reflection.MissingMetadataException

public sealed class MissingMetadataException : System.TypeAccessException, System.Runtime.Serialization.ISerializable {
	// constructors
	public MissingMetadataException ();
	public MissingMetadataException (string message);
}

New Type: System.Reflection.ModuleExtensions

public static class ModuleExtensions {
	// methods
	public static System.Guid GetModuleVersionId (this Module module);
	public static bool HasModuleVersionId (this Module module);
}

New Type: System.Reflection.PropertyInfoExtensions

public static class PropertyInfoExtensions {
	// methods
	public static MethodInfo[] GetAccessors (PropertyInfo property);
	public static MethodInfo[] GetAccessors (PropertyInfo property, bool nonPublic);
	public static MethodInfo GetGetMethod (PropertyInfo property);
	public static MethodInfo GetGetMethod (PropertyInfo property, bool nonPublic);
	public static MethodInfo GetSetMethod (PropertyInfo property);
	public static MethodInfo GetSetMethod (PropertyInfo property, bool nonPublic);
}

New Type: System.Reflection.TypeExtensions

public static class TypeExtensions {
	// methods
	public static ConstructorInfo GetConstructor (System.Type type, System.Type[] types);
	public static ConstructorInfo[] GetConstructors (System.Type type);
	public static ConstructorInfo[] GetConstructors (System.Type type, BindingFlags bindingAttr);
	public static MemberInfo[] GetDefaultMembers (System.Type type);
	public static EventInfo GetEvent (System.Type type, string name);
	public static EventInfo GetEvent (System.Type type, string name, BindingFlags bindingAttr);
	public static EventInfo[] GetEvents (System.Type type);
	public static EventInfo[] GetEvents (System.Type type, BindingFlags bindingAttr);
	public static FieldInfo GetField (System.Type type, string name);
	public static FieldInfo GetField (System.Type type, string name, BindingFlags bindingAttr);
	public static FieldInfo[] GetFields (System.Type type);
	public static FieldInfo[] GetFields (System.Type type, BindingFlags bindingAttr);
	public static System.Type[] GetGenericArguments (System.Type type);
	public static System.Type[] GetInterfaces (System.Type type);
	public static MemberInfo[] GetMember (System.Type type, string name);
	public static MemberInfo[] GetMember (System.Type type, string name, BindingFlags bindingAttr);
	public static MemberInfo[] GetMembers (System.Type type);
	public static MemberInfo[] GetMembers (System.Type type, BindingFlags bindingAttr);
	public static MethodInfo GetMethod (System.Type type, string name);
	public static MethodInfo GetMethod (System.Type type, string name, BindingFlags bindingAttr);
	public static MethodInfo GetMethod (System.Type type, string name, System.Type[] types);
	public static MethodInfo[] GetMethods (System.Type type);
	public static MethodInfo[] GetMethods (System.Type type, BindingFlags bindingAttr);
	public static System.Type GetNestedType (System.Type type, string name, BindingFlags bindingAttr);
	public static System.Type[] GetNestedTypes (System.Type type, BindingFlags bindingAttr);
	public static PropertyInfo[] GetProperties (System.Type type);
	public static PropertyInfo[] GetProperties (System.Type type, BindingFlags bindingAttr);
	public static PropertyInfo GetProperty (System.Type type, string name);
	public static PropertyInfo GetProperty (System.Type type, string name, BindingFlags bindingAttr);
	public static PropertyInfo GetProperty (System.Type type, string name, System.Type returnType);
	public static PropertyInfo GetProperty (System.Type type, string name, System.Type returnType, System.Type[] types);
	public static bool IsAssignableFrom (System.Type type, System.Type c);
	public static bool IsInstanceOfType (System.Type type, object o);
}

Namespace System.Reflection.Emit

Type Changed: System.Reflection.Emit.AssemblyBuilder

Removed constructor:

public AssemblyBuilder ();

Added properties:

public override string CodeBase { get; }
public override System.Reflection.MethodInfo EntryPoint { get; }
public override string EscapedCodeBase { get; }
public override System.Security.Policy.Evidence Evidence { get; }
public override string FullName { get; }
public override bool GlobalAssemblyCache { get; }
public override string ImageRuntimeVersion { get; }
public override bool IsDynamic { get; }
public override string Location { get; }
public override System.Reflection.Module ManifestModule { get; }
public override bool ReflectionOnly { get; }

Added methods:

public void AddResourceFile (string name, string fileName);
public void AddResourceFile (string name, string fileName, System.Reflection.ResourceAttributes attribute);
public ModuleBuilder DefineDynamicModule (string name, bool emitSymbolInfo);
public ModuleBuilder DefineDynamicModule (string name, string fileName);
public ModuleBuilder DefineDynamicModule (string name, string fileName, bool emitSymbolInfo);
public System.Resources.IResourceWriter DefineResource (string name, string description, string fileName);
public System.Resources.IResourceWriter DefineResource (string name, string description, string fileName, System.Reflection.ResourceAttributes attribute);
public void DefineUnmanagedResource (byte[] resource);
public void DefineUnmanagedResource (string resourceFileName);
public void DefineVersionInfoResource ();
public void DefineVersionInfoResource (string product, string productVersion, string company, string copyright, string trademark);
public override bool Equals (object obj);
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Type[] GetExportedTypes ();
public override System.IO.FileStream GetFile (string name);
public override System.IO.FileStream[] GetFiles (bool getResourceModules);
public override int GetHashCode ();
public override System.Reflection.Module[] GetLoadedModules (bool getResourceModules);
public override System.Reflection.ManifestResourceInfo GetManifestResourceInfo (string resourceName);
public override string[] GetManifestResourceNames ();
public override System.IO.Stream GetManifestResourceStream (string name);
public override System.IO.Stream GetManifestResourceStream (System.Type type, string name);
public override System.Reflection.Module GetModule (string name);
public override System.Reflection.Module[] GetModules (bool getResourceModules);
public override System.Reflection.AssemblyName GetName (bool copiedName);
public override System.Reflection.AssemblyName[] GetReferencedAssemblies ();
public override System.Reflection.Assembly GetSatelliteAssembly (System.Globalization.CultureInfo culture);
public override System.Reflection.Assembly GetSatelliteAssembly (System.Globalization.CultureInfo culture, System.Version version);
public override System.Type GetType (string name, bool throwOnError, bool ignoreCase);
public override bool IsDefined (System.Type attributeType, bool inherit);
public void Save (string assemblyFileName);
public void Save (string assemblyFileName, System.Reflection.PortableExecutableKinds portableExecutableKind, System.Reflection.ImageFileMachine imageFileMachine);
public void SetEntryPoint (System.Reflection.MethodInfo entryMethod);
public void SetEntryPoint (System.Reflection.MethodInfo entryMethod, PEFileKinds fileKind);
public override string ToString ();

Type Changed: System.Reflection.Emit.ConstructorBuilder

Removed constructor:

protected ConstructorBuilder ();

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._MethodBase

Added properties:

public override System.Reflection.CallingConventions CallingConvention { get; }
public override System.RuntimeMethodHandle MethodHandle { get; }
public override System.Reflection.Module Module { get; }
public override System.Type ReflectedType { get; }

[Obsolete]
public System.Type ReturnType { get; }
public string Signature { get; }

Added methods:

public void AddDeclarativeSecurity (System.Security.Permissions.SecurityAction action, System.Security.PermissionSet pset);
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Reflection.MethodImplAttributes GetMethodImplementationFlags ();
public System.Reflection.Module GetModule ();
public MethodToken GetToken ();
public override object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
public override object Invoke (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
public override bool IsDefined (System.Type attributeType, bool inherit);
public void SetMethodBody (byte[] il, int maxStack, byte[] localSignature, System.Collections.Generic.IEnumerable<ExceptionHandler> exceptionHandlers, System.Collections.Generic.IEnumerable<int> tokenFixups);
public void SetSymCustomAttribute (string name, byte[] data);
public override string ToString ();

Type Changed: System.Reflection.Emit.DynamicMethod

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._MethodBase

Removed property:

public override System.Reflection.MethodImplAttributes MethodImplementationFlags { get; }

Added properties:

public override System.RuntimeMethodHandle MethodHandle { get; }
public override System.Reflection.Module Module { get; }
public override System.Type ReflectedType { get; }
public override System.Reflection.ICustomAttributeProvider ReturnTypeCustomAttributes { get; }

Added methods:

public override System.Delegate CreateDelegate (System.Type delegateType);
public override System.Delegate CreateDelegate (System.Type delegateType, object target);
public ParameterBuilder DefineParameter (int position, System.Reflection.ParameterAttributes attributes, string parameterName);
public override System.Reflection.MethodInfo GetBaseDefinition ();
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public DynamicILInfo GetDynamicILInfo ();
public override System.Reflection.MethodImplAttributes GetMethodImplementationFlags ();
public override object Invoke (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
public override bool IsDefined (System.Type attributeType, bool inherit);
public override string ToString ();

Type Changed: System.Reflection.Emit.EnumBuilder

Removed constructor:

protected EnumBuilder ();

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._Type

Added properties:

public override System.Type DeclaringType { get; }
public override bool IsConstructedGenericType { get; }
public override bool IsTypeDefinition { get; }
public override System.Type ReflectedType { get; }
public override System.RuntimeTypeHandle TypeHandle { get; }
public TypeToken TypeToken { get; }
public override System.Type UnderlyingSystemType { get; }

Added methods:

public System.Type CreateType ();
protected override System.Reflection.TypeAttributes GetAttributeFlagsImpl ();
protected override System.Reflection.ConstructorInfo GetConstructorImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
public override System.Reflection.ConstructorInfo[] GetConstructors (System.Reflection.BindingFlags bindingAttr);
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Type GetEnumUnderlyingType ();
public override System.Reflection.EventInfo GetEvent (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.EventInfo[] GetEvents ();
public override System.Reflection.EventInfo[] GetEvents (System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.FieldInfo GetField (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.FieldInfo[] GetFields (System.Reflection.BindingFlags bindingAttr);
public override System.Type GetInterface (string name, bool ignoreCase);
public override System.Reflection.InterfaceMapping GetInterfaceMap (System.Type interfaceType);
public override System.Type[] GetInterfaces ();
public override System.Reflection.MemberInfo[] GetMember (string name, System.Reflection.MemberTypes type, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.MemberInfo[] GetMembers (System.Reflection.BindingFlags bindingAttr);
protected override System.Reflection.MethodInfo GetMethodImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
public override System.Reflection.MethodInfo[] GetMethods (System.Reflection.BindingFlags bindingAttr);
public override System.Type GetNestedType (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Type[] GetNestedTypes (System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.PropertyInfo[] GetProperties (System.Reflection.BindingFlags bindingAttr);
protected override System.Reflection.PropertyInfo GetPropertyImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Type returnType, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
protected override bool HasElementTypeImpl ();
public override object InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
protected override bool IsArrayImpl ();
public override bool IsAssignableFrom (System.Reflection.TypeInfo typeInfo);
protected override bool IsByRefImpl ();
protected override bool IsCOMObjectImpl ();
public override bool IsDefined (System.Type attributeType, bool inherit);
protected override bool IsPointerImpl ();
protected override bool IsPrimitiveImpl ();
protected override bool IsValueTypeImpl ();
public override System.Type MakeArrayType ();
public override System.Type MakeArrayType (int rank);
public override System.Type MakeByRefType ();
public override System.Type MakePointerType ();

Type Changed: System.Reflection.Emit.EventBuilder

Removed constructor:

public EventBuilder ();

Added method:

public EventToken GetEventToken ();

Type Changed: System.Reflection.Emit.FieldBuilder

Removed constructor:

protected FieldBuilder ();

Removed interface:

System.Runtime.InteropServices._MemberInfo

Added properties:

public override System.RuntimeFieldHandle FieldHandle { get; }
public override int MetadataToken { get; }
public override System.Reflection.Module Module { get; }
public override System.Type ReflectedType { get; }

Added methods:

public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public FieldToken GetToken ();
public override bool IsDefined (System.Type attributeType, bool inherit);

[Obsolete ("An alternate API is available: Emit the MarshalAs custom attribute instead.")]
public void SetMarshal (UnmanagedMarshal unmanagedMarshal);
public override void SetValue (object obj, object val, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Globalization.CultureInfo culture);

Type Changed: System.Reflection.Emit.GenericTypeParameterBuilder

Removed constructor:

protected GenericTypeParameterBuilder ();

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._Type

Added properties:

public override bool ContainsGenericParameters { get; }
public override System.Reflection.MethodBase DeclaringMethod { get; }
public override System.Type DeclaringType { get; }
public override System.Reflection.GenericParameterAttributes GenericParameterAttributes { get; }
public override int GenericParameterPosition { get; }
public override bool IsGenericParameter { get; }
public override bool IsGenericType { get; }
public override bool IsGenericTypeDefinition { get; }
public override System.Type ReflectedType { get; }
public override System.RuntimeTypeHandle TypeHandle { get; }
public override System.Type UnderlyingSystemType { get; }

Added methods:

public override bool Equals (object o);
protected override System.Reflection.TypeAttributes GetAttributeFlagsImpl ();
protected override System.Reflection.ConstructorInfo GetConstructorImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
public override System.Reflection.ConstructorInfo[] GetConstructors (System.Reflection.BindingFlags bindingAttr);
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Reflection.EventInfo GetEvent (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.EventInfo[] GetEvents ();
public override System.Reflection.EventInfo[] GetEvents (System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.FieldInfo GetField (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.FieldInfo[] GetFields (System.Reflection.BindingFlags bindingAttr);
public override System.Type[] GetGenericArguments ();
public override System.Type[] GetGenericParameterConstraints ();
public override System.Type GetGenericTypeDefinition ();
public override int GetHashCode ();
public override System.Type GetInterface (string name, bool ignoreCase);
public override System.Reflection.InterfaceMapping GetInterfaceMap (System.Type interfaceType);
public override System.Type[] GetInterfaces ();
public override System.Reflection.MemberInfo[] GetMember (string name, System.Reflection.MemberTypes type, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.MemberInfo[] GetMembers (System.Reflection.BindingFlags bindingAttr);
protected override System.Reflection.MethodInfo GetMethodImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
public override System.Reflection.MethodInfo[] GetMethods (System.Reflection.BindingFlags bindingAttr);
public override System.Type GetNestedType (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Type[] GetNestedTypes (System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.PropertyInfo[] GetProperties (System.Reflection.BindingFlags bindingAttr);
protected override System.Reflection.PropertyInfo GetPropertyImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Type returnType, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
protected override bool HasElementTypeImpl ();
public override object InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
protected override bool IsArrayImpl ();
public override bool IsAssignableFrom (System.Reflection.TypeInfo typeInfo);
public override bool IsAssignableFrom (System.Type c);
protected override bool IsByRefImpl ();
protected override bool IsCOMObjectImpl ();
public override bool IsDefined (System.Type attributeType, bool inherit);
public override bool IsInstanceOfType (object o);
protected override bool IsPointerImpl ();
protected override bool IsPrimitiveImpl ();
public override bool IsSubclassOf (System.Type c);
protected override bool IsValueTypeImpl ();
public override System.Type MakeArrayType ();
public override System.Type MakeArrayType (int rank);
public override System.Type MakeByRefType ();
public override System.Type MakeGenericType (System.Type[] typeArguments);
public override System.Type MakePointerType ();
public override string ToString ();

Type Changed: System.Reflection.Emit.ILGenerator

Modified properties:

 public ---virtual--- int ILOffset { get; }

Added methods:

public virtual void EmitCalli (OpCode opcode, System.Runtime.InteropServices.CallingConvention unmanagedCallConv, System.Type returnType, System.Type[] parameterTypes);
public virtual void MarkSequencePoint (System.Diagnostics.SymbolStore.ISymbolDocumentWriter document, int startLine, int startColumn, int endLine, int endColumn);

Type Changed: System.Reflection.Emit.Label

Added interface:

System.IEquatable<Label>

Type Changed: System.Reflection.Emit.MethodBuilder

Removed constructor:

protected MethodBuilder ();

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._MethodBase

Added properties:

public override System.Reflection.CallingConventions CallingConvention { get; }
public override bool ContainsGenericParameters { get; }
public override bool IsGenericMethod { get; }
public override bool IsGenericMethodDefinition { get; }
public override System.RuntimeMethodHandle MethodHandle { get; }
public override System.Reflection.Module Module { get; }
public override System.Type ReflectedType { get; }
public override System.Reflection.ParameterInfo ReturnParameter { get; }
public override System.Type ReturnType { get; }
public override System.Reflection.ICustomAttributeProvider ReturnTypeCustomAttributes { get; }
public string Signature { get; }

Added methods:

public void AddDeclarativeSecurity (System.Security.Permissions.SecurityAction action, System.Security.PermissionSet pset);
public void CreateMethodBody (byte[] il, int count);
public override bool Equals (object obj);
public override System.Reflection.MethodInfo GetBaseDefinition ();
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Type[] GetGenericArguments ();
public override System.Reflection.MethodInfo GetGenericMethodDefinition ();
public override int GetHashCode ();
public override System.Reflection.MethodImplAttributes GetMethodImplementationFlags ();
public System.Reflection.Module GetModule ();
public MethodToken GetToken ();
public override object Invoke (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
public override bool IsDefined (System.Type attributeType, bool inherit);
public override System.Reflection.MethodInfo MakeGenericMethod (System.Type[] typeArguments);

[Obsolete ("An alternate API is available: Emit the MarshalAs custom attribute instead.")]
public void SetMarshal (UnmanagedMarshal unmanagedMarshal);
public void SetMethodBody (byte[] il, int maxStack, byte[] localSignature, System.Collections.Generic.IEnumerable<ExceptionHandler> exceptionHandlers, System.Collections.Generic.IEnumerable<int> tokenFixups);
public void SetSymCustomAttribute (string name, byte[] data);
public override string ToString ();

Type Changed: System.Reflection.Emit.ModuleBuilder

Removed constructor:

protected ModuleBuilder ();

Added properties:

public override System.Reflection.Assembly Assembly { get; }
public override string FullyQualifiedName { get; }
public override int MetadataToken { get; }
public override System.Guid ModuleVersionId { get; }
public override string Name { get; }
public override string ScopeName { get; }

Added methods:

public System.Diagnostics.SymbolStore.ISymbolDocumentWriter DefineDocument (string url, System.Guid language, System.Guid languageVendor, System.Guid documentType);
public void DefineManifestResource (string name, System.IO.Stream stream, System.Reflection.ResourceAttributes attribute);
public MethodBuilder DefinePInvokeMethod (string name, string dllName, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes, System.Runtime.InteropServices.CallingConvention nativeCallConv, System.Runtime.InteropServices.CharSet nativeCharSet);
public MethodBuilder DefinePInvokeMethod (string name, string dllName, string entryName, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes, System.Runtime.InteropServices.CallingConvention nativeCallConv, System.Runtime.InteropServices.CharSet nativeCharSet);
public System.Resources.IResourceWriter DefineResource (string name, string description);
public System.Resources.IResourceWriter DefineResource (string name, string description, System.Reflection.ResourceAttributes attribute);
public void DefineUnmanagedResource (byte[] resource);
public void DefineUnmanagedResource (string resourceFileName);
public override bool Equals (object obj);
public MethodToken GetArrayMethodToken (System.Type arrayClass, string methodName, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes);
public MethodToken GetConstructorToken (System.Reflection.ConstructorInfo con);
public MethodToken GetConstructorToken (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Type> optionalParameterTypes);
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Reflection.FieldInfo GetField (string name, System.Reflection.BindingFlags bindingAttr);
public FieldToken GetFieldToken (System.Reflection.FieldInfo field);
public override System.Reflection.FieldInfo[] GetFields (System.Reflection.BindingFlags bindingFlags);
public override int GetHashCode ();
protected override System.Reflection.MethodInfo GetMethodImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
public MethodToken GetMethodToken (System.Reflection.MethodInfo method);
public MethodToken GetMethodToken (System.Reflection.MethodInfo method, System.Collections.Generic.IEnumerable<System.Type> optionalParameterTypes);
public override System.Reflection.MethodInfo[] GetMethods (System.Reflection.BindingFlags bindingFlags);
public SignatureToken GetSignatureToken (SignatureHelper sigHelper);
public SignatureToken GetSignatureToken (byte[] sigBytes, int sigLength);
public StringToken GetStringConstant (string str);
public System.Diagnostics.SymbolStore.ISymbolWriter GetSymWriter ();
public override System.Type GetType (string className);
public override System.Type GetType (string className, bool ignoreCase);
public override System.Type GetType (string className, bool throwOnError, bool ignoreCase);
public TypeToken GetTypeToken (string name);
public TypeToken GetTypeToken (System.Type type);
public override System.Type[] GetTypes ();
public override bool IsDefined (System.Type attributeType, bool inherit);
public override bool IsResource ();
public bool IsTransient ();
public override System.Reflection.FieldInfo ResolveField (int metadataToken, System.Type[] genericTypeArguments, System.Type[] genericMethodArguments);
public override System.Reflection.MemberInfo ResolveMember (int metadataToken, System.Type[] genericTypeArguments, System.Type[] genericMethodArguments);
public override System.Reflection.MethodBase ResolveMethod (int metadataToken, System.Type[] genericTypeArguments, System.Type[] genericMethodArguments);
public override byte[] ResolveSignature (int metadataToken);
public override string ResolveString (int metadataToken);
public override System.Type ResolveType (int metadataToken, System.Type[] genericTypeArguments, System.Type[] genericMethodArguments);
public void SetSymCustomAttribute (string name, byte[] data);
public void SetUserEntryPoint (System.Reflection.MethodInfo entryPoint);

Type Changed: System.Reflection.Emit.OpCode

Added interface:

System.IEquatable<OpCode>

Type Changed: System.Reflection.Emit.ParameterBuilder

Modified properties:

 public ---virtual--- int Attributes { get; }
 public ---virtual--- string Name { get; }
 public ---virtual--- int Position { get; }

Added methods:

public virtual ParameterToken GetToken ();

[Obsolete ("An alternate API is available: Emit the MarshalAs custom attribute instead.")]
public virtual void SetMarshal (UnmanagedMarshal unmanagedMarshal);

Type Changed: System.Reflection.Emit.PropertyBuilder

Removed constructor:

protected PropertyBuilder ();

Removed interface:

System.Runtime.InteropServices._MemberInfo

Added properties:

public override System.Reflection.Module Module { get; }
public PropertyToken PropertyToken { get; }
public override System.Type ReflectedType { get; }

Added methods:

public override System.Reflection.MethodInfo[] GetAccessors (bool nonPublic);
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Reflection.MethodInfo GetGetMethod (bool nonPublic);
public override System.Reflection.MethodInfo GetSetMethod (bool nonPublic);
public override object GetValue (object obj, object[] index);
public override object GetValue (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] index, System.Globalization.CultureInfo culture);
public override bool IsDefined (System.Type attributeType, bool inherit);
public override void SetValue (object obj, object value, object[] index);
public override void SetValue (object obj, object value, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] index, System.Globalization.CultureInfo culture);

Type Changed: System.Reflection.Emit.SignatureHelper

Added interface:

System.Runtime.InteropServices._SignatureHelper

Added methods:

public override bool Equals (object obj);
public override int GetHashCode ();
public static SignatureHelper GetMethodSigHelper (System.Runtime.InteropServices.CallingConvention unmanagedCallingConvention, System.Type returnType);
public static SignatureHelper GetMethodSigHelper (System.Reflection.Module mod, System.Runtime.InteropServices.CallingConvention unmanagedCallConv, System.Type returnType);
public override string ToString ();

Type Changed: System.Reflection.Emit.TypeBuilder

Removed constructor:

protected TypeBuilder ();

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._Type

Added properties:

public override bool ContainsGenericParameters { get; }
public override System.Reflection.MethodBase DeclaringMethod { get; }
public override System.Type DeclaringType { get; }
public override System.Reflection.GenericParameterAttributes GenericParameterAttributes { get; }
public override int GenericParameterPosition { get; }
public override bool IsConstructedGenericType { get; }
public override bool IsGenericParameter { get; }
public override bool IsGenericType { get; }
public override bool IsGenericTypeDefinition { get; }
public override bool IsTypeDefinition { get; }
public override System.Type ReflectedType { get; }
public override System.RuntimeTypeHandle TypeHandle { get; }
public TypeToken TypeToken { get; }
public override System.Type UnderlyingSystemType { get; }

Added methods:

public void AddDeclarativeSecurity (System.Security.Permissions.SecurityAction action, System.Security.PermissionSet pset);
public System.Type CreateType ();
public MethodBuilder DefinePInvokeMethod (string name, string dllName, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes, System.Runtime.InteropServices.CallingConvention nativeCallConv, System.Runtime.InteropServices.CharSet nativeCharSet);
public MethodBuilder DefinePInvokeMethod (string name, string dllName, string entryName, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes, System.Runtime.InteropServices.CallingConvention nativeCallConv, System.Runtime.InteropServices.CharSet nativeCharSet);
public MethodBuilder DefinePInvokeMethod (string name, string dllName, string entryName, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] returnTypeRequiredCustomModifiers, System.Type[] returnTypeOptionalCustomModifiers, System.Type[] parameterTypes, System.Type[][] parameterTypeRequiredCustomModifiers, System.Type[][] parameterTypeOptionalCustomModifiers, System.Runtime.InteropServices.CallingConvention nativeCallConv, System.Runtime.InteropServices.CharSet nativeCharSet);
protected override System.Reflection.TypeAttributes GetAttributeFlagsImpl ();
protected override System.Reflection.ConstructorInfo GetConstructorImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
public override System.Reflection.ConstructorInfo[] GetConstructors (System.Reflection.BindingFlags bindingAttr);
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Reflection.EventInfo GetEvent (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.EventInfo[] GetEvents ();
public override System.Reflection.EventInfo[] GetEvents (System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.FieldInfo GetField (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.FieldInfo[] GetFields (System.Reflection.BindingFlags bindingAttr);
public override System.Type[] GetGenericArguments ();
public override System.Type GetGenericTypeDefinition ();
public override System.Type GetInterface (string name, bool ignoreCase);
public override System.Reflection.InterfaceMapping GetInterfaceMap (System.Type interfaceType);
public override System.Type[] GetInterfaces ();
public override System.Reflection.MemberInfo[] GetMember (string name, System.Reflection.MemberTypes type, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.MemberInfo[] GetMembers (System.Reflection.BindingFlags bindingAttr);
protected override System.Reflection.MethodInfo GetMethodImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
public override System.Reflection.MethodInfo[] GetMethods (System.Reflection.BindingFlags bindingAttr);
public override System.Type GetNestedType (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Type[] GetNestedTypes (System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.PropertyInfo[] GetProperties (System.Reflection.BindingFlags bindingAttr);
protected override System.Reflection.PropertyInfo GetPropertyImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Type returnType, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
protected override bool HasElementTypeImpl ();
public override object InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
protected override bool IsArrayImpl ();
public override bool IsAssignableFrom (System.Reflection.TypeInfo typeInfo);
public override bool IsAssignableFrom (System.Type c);
protected override bool IsByRefImpl ();
protected override bool IsCOMObjectImpl ();
public override bool IsDefined (System.Type attributeType, bool inherit);
protected override bool IsPointerImpl ();
protected override bool IsPrimitiveImpl ();
public override bool IsSubclassOf (System.Type c);
protected override bool IsValueTypeImpl ();
public override System.Type MakeArrayType ();
public override System.Type MakeArrayType (int rank);
public override System.Type MakeByRefType ();
public override System.Type MakeGenericType (System.Type[] typeArguments);
public override System.Type MakePointerType ();
public override string ToString ();

New Type: System.Reflection.Emit.DynamicILInfo

public class DynamicILInfo {
	// properties
	public DynamicMethod DynamicMethod { get; }
	// methods
	public int GetTokenFor (byte[] signature);
	public int GetTokenFor (DynamicMethod method);
	public int GetTokenFor (System.RuntimeFieldHandle field);
	public int GetTokenFor (System.RuntimeMethodHandle method);
	public int GetTokenFor (System.RuntimeTypeHandle type);
	public int GetTokenFor (string literal);
	public int GetTokenFor (System.RuntimeFieldHandle field, System.RuntimeTypeHandle contextType);
	public int GetTokenFor (System.RuntimeMethodHandle method, System.RuntimeTypeHandle contextType);
	public void SetCode (byte[] code, int maxStackSize);
	public void SetCode (byte* code, int codeSize, int maxStackSize);
	public void SetExceptions (byte[] exceptions);
	public void SetExceptions (byte* exceptions, int exceptionsSize);
	public void SetLocalSignature (byte[] localSignature);
	public void SetLocalSignature (byte* localSignature, int signatureSize);
}

New Type: System.Reflection.Emit.EventToken

public struct EventToken, System.IEquatable<EventToken> {
	// fields
	public static EventToken Empty;
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (EventToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (EventToken a, EventToken b);
	public static bool op_Inequality (EventToken a, EventToken b);
}

New Type: System.Reflection.Emit.FieldToken

public struct FieldToken, System.IEquatable<FieldToken> {
	// fields
	public static FieldToken Empty;
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (FieldToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (FieldToken a, FieldToken b);
	public static bool op_Inequality (FieldToken a, FieldToken b);
}

New Type: System.Reflection.Emit.MethodRental

public class MethodRental : System.Runtime.InteropServices._MethodRental {
	// fields
	public static const int JitImmediate;
	public static const int JitOnDemand;
	// methods
	public static void SwapMethodBody (System.Type cls, int methodtoken, IntPtr rgIL, int methodSize, int flags);
}

New Type: System.Reflection.Emit.MethodToken

public struct MethodToken, System.IEquatable<MethodToken> {
	// fields
	public static MethodToken Empty;
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (MethodToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (MethodToken a, MethodToken b);
	public static bool op_Inequality (MethodToken a, MethodToken b);
}

New Type: System.Reflection.Emit.ParameterToken

public struct ParameterToken, System.IEquatable<ParameterToken> {
	// fields
	public static ParameterToken Empty;
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (ParameterToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (ParameterToken a, ParameterToken b);
	public static bool op_Inequality (ParameterToken a, ParameterToken b);
}

New Type: System.Reflection.Emit.PropertyToken

public struct PropertyToken, System.IEquatable<PropertyToken> {
	// fields
	public static PropertyToken Empty;
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (PropertyToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (PropertyToken a, PropertyToken b);
	public static bool op_Inequality (PropertyToken a, PropertyToken b);
}

New Type: System.Reflection.Emit.SignatureToken

public struct SignatureToken, System.IEquatable<SignatureToken> {
	// fields
	public static SignatureToken Empty;
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (SignatureToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (SignatureToken a, SignatureToken b);
	public static bool op_Inequality (SignatureToken a, SignatureToken b);
}

New Type: System.Reflection.Emit.StringToken

public struct StringToken, System.IEquatable<StringToken> {
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (StringToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (StringToken a, StringToken b);
	public static bool op_Inequality (StringToken a, StringToken b);
}

New Type: System.Reflection.Emit.TypeToken

public struct TypeToken, System.IEquatable<TypeToken> {
	// fields
	public static TypeToken Empty;
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (TypeToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (TypeToken a, TypeToken b);
	public static bool op_Inequality (TypeToken a, TypeToken b);
}

New Type: System.Reflection.Emit.UnmanagedMarshal

[Serializable]
public sealed class UnmanagedMarshal {
	// properties
	public System.Runtime.InteropServices.UnmanagedType BaseType { get; }
	public int ElementCount { get; }
	public System.Runtime.InteropServices.UnmanagedType GetUnmanagedType { get; }
	public System.Guid IIDGuid { get; }
	// methods
	public static UnmanagedMarshal DefineByValArray (int elemCount);
	public static UnmanagedMarshal DefineByValTStr (int elemCount);
	public static UnmanagedMarshal DefineLPArray (System.Runtime.InteropServices.UnmanagedType elemType);
	public static UnmanagedMarshal DefineUnmanagedMarshal (System.Runtime.InteropServices.UnmanagedType unmanagedType);
}

Namespace System.Runtime

New Type: System.Runtime.AmbiguousImplementationException

[Serializable]
public sealed class AmbiguousImplementationException : System.Exception, Serialization.ISerializable {
	// constructors
	public AmbiguousImplementationException ();
	public AmbiguousImplementationException (string message);
	public AmbiguousImplementationException (string message, System.Exception innerException);
}

Namespace System.Runtime.CompilerServices

Type Changed: System.Runtime.CompilerServices.ConditionalWeakTable`2

Added methods:

public void AddOrUpdate (TKey key, TValue value);
public void Clear ();

Type Changed: System.Runtime.CompilerServices.RuntimeFeature

Added field:

public static const string DefaultImplementationsOfInterfaces = "DefaultImplementationsOfInterfaces";

Added properties:

public static bool IsDynamicCodeCompiled { get; }
public static bool IsDynamicCodeSupported { get; }

Type Changed: System.Runtime.CompilerServices.RuntimeHelpers

Added methods:

public static T[] GetSubArray<T> (T[] array, System.Range range);
public static object GetUninitializedObject (System.Type type);

New Type: System.Runtime.CompilerServices.AsyncIteratorMethodBuilder

public struct AsyncIteratorMethodBuilder {
	// methods
	public void AwaitOnCompleted<TAwaiter, TStateMachine> (ref TAwaiter awaiter, ref TStateMachine stateMachine);
	public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine> (ref TAwaiter awaiter, ref TStateMachine stateMachine);
	public void Complete ();
	public static AsyncIteratorMethodBuilder Create ();
	public void MoveNext<TStateMachine> (ref TStateMachine stateMachine);
}

New Type: System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute

public sealed class AsyncIteratorStateMachineAttribute : System.Runtime.CompilerServices.StateMachineAttribute {
	// constructors
	public AsyncIteratorStateMachineAttribute (System.Type stateMachineType);
}

New Type: System.Runtime.CompilerServices.ConfiguredAsyncDisposable

public struct ConfiguredAsyncDisposable {
	// methods
	public ConfiguredValueTaskAwaitable DisposeAsync ();
}

New Type: System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1

public struct ConfiguredCancelableAsyncEnumerable`1 {
	// methods
	public System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> ConfigureAwait (bool continueOnCapturedContext);
	public System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<Enumerator[T> GetAsyncEnumerator ();
	public System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> WithCancellation (System.Threading.CancellationToken cancellationToken);

	// inner types
	public struct Enumerator {
		// properties
		public T Current { get; }
		// methods
		public ConfiguredValueTaskAwaitable DisposeAsync ();
		public System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<bool> MoveNextAsync ();
	}
}

New Type: System.Runtime.CompilerServices.EnumeratorCancellationAttribute

public sealed class EnumeratorCancellationAttribute : System.Attribute {
	// constructors
	public EnumeratorCancellationAttribute ();
}

New Type: System.Runtime.CompilerServices.SwitchExpressionException

[Serializable]
public sealed class SwitchExpressionException : System.InvalidOperationException, System.Runtime.Serialization.ISerializable {
	// constructors
	public SwitchExpressionException ();
	public SwitchExpressionException (System.Exception innerException);
	public SwitchExpressionException (object unmatchedValue);
	public SwitchExpressionException (string message);
	public SwitchExpressionException (string message, System.Exception innerException);
	// properties
	public override string Message { get; }
	public object UnmatchedValue { get; }
	// methods
	public override void GetObjectData (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
}

Namespace System.Runtime.InteropServices

Type Changed: System.Runtime.InteropServices.Marshal

Added methods:

public static System.Guid GenerateGuidForType (System.Type type);
public static string GenerateProgIdForType (System.Type type);
public static object GetComObjectData (object obj, object key);
public static IntPtr GetHINSTANCE (System.Reflection.Module m);
public static IntPtr GetIDispatchForObject (object o);
public static object GetTypedObjectForIUnknown (IntPtr pUnk, System.Type t);
public static bool SetComObjectData (object obj, object key, object data);
public static IntPtr StringToCoTaskMemUTF8 (string s);

Namespace System.Runtime.Serialization

New Type: System.Runtime.Serialization.SerializationEventHandler

public sealed delegate SerializationEventHandler : System.MulticastDelegate, System.ICloneable, ISerializable {
	// constructors
	public SerializationEventHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (StreamingContext context, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (StreamingContext context);
}

Namespace System.Security.Cryptography

Type Changed: System.Security.Cryptography.AsymmetricAlgorithm

Added methods:

public virtual byte[] ExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<byte> passwordBytes, PbeParameters pbeParameters);
public virtual byte[] ExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<char> password, PbeParameters pbeParameters);
public virtual byte[] ExportPkcs8PrivateKey ();
public virtual byte[] ExportSubjectPublicKeyInfo ();
public virtual void ImportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<byte> passwordBytes, System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<char> password, System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportPkcs8PrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportSubjectPublicKeyInfo (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual bool TryExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<byte> passwordBytes, PbeParameters pbeParameters, System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<char> password, PbeParameters pbeParameters, System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportPkcs8PrivateKey (System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportSubjectPublicKeyInfo (System.Span<byte> destination, out int bytesWritten);

Type Changed: System.Security.Cryptography.CryptoStream

Added constructor:

public CryptoStream (System.IO.Stream stream, ICryptoTransform transform, CryptoStreamMode mode, bool leaveOpen);

Added interface:

System.IAsyncDisposable

Added methods:

public override System.IAsyncResult BeginRead (byte[] buffer, int offset, int count, System.AsyncCallback callback, object state);
public override System.IAsyncResult BeginWrite (byte[] buffer, int offset, int count, System.AsyncCallback callback, object state);
public override int EndRead (System.IAsyncResult asyncResult);
public override void EndWrite (System.IAsyncResult asyncResult);
public override int ReadByte ();
public override void WriteByte (byte value);

Type Changed: System.Security.Cryptography.DSA

Added methods:

public static DSA Create (int keySizeInBits);
public static DSA Create (DSAParameters parameters);
public virtual bool TryCreateSignature (System.ReadOnlySpan<byte> hash, System.Span<byte> destination, out int bytesWritten);
protected virtual bool TryHashData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool VerifyData (System.ReadOnlySpan<byte> data, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm);
public virtual bool VerifySignature (System.ReadOnlySpan<byte> hash, System.ReadOnlySpan<byte> signature);

Type Changed: System.Security.Cryptography.HashAlgorithm

Added methods:

protected virtual void HashCore (System.ReadOnlySpan<byte> source);
public bool TryComputeHash (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesWritten);
protected virtual bool TryHashFinal (System.Span<byte> destination, out int bytesWritten);

Type Changed: System.Security.Cryptography.RSA

Added methods:

public static RSA Create (int keySizeInBits);
public static RSA Create (RSAParameters parameters);
public virtual byte[] ExportRSAPrivateKey ();
public virtual byte[] ExportRSAPublicKey ();
public virtual void ImportRSAPrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportRSAPublicKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual bool TryDecrypt (System.ReadOnlySpan<byte> data, System.Span<byte> destination, RSAEncryptionPadding padding, out int bytesWritten);
public virtual bool TryEncrypt (System.ReadOnlySpan<byte> data, System.Span<byte> destination, RSAEncryptionPadding padding, out int bytesWritten);
public virtual bool TryExportRSAPrivateKey (System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportRSAPublicKey (System.Span<byte> destination, out int bytesWritten);
protected virtual bool TryHashData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding, out int bytesWritten);
public virtual bool TrySignHash (System.ReadOnlySpan<byte> hash, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding, out int bytesWritten);
public virtual bool VerifyData (System.ReadOnlySpan<byte> data, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding);
public virtual bool VerifyHash (System.ReadOnlySpan<byte> hash, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding);

Type Changed: System.Security.Cryptography.RandomNumberGenerator

Added methods:

public static void Fill (System.Span<byte> data);
public virtual void GetBytes (System.Span<byte> data);
public static int GetInt32 (int toExclusive);
public static int GetInt32 (int fromInclusive, int toExclusive);
public virtual void GetNonZeroBytes (System.Span<byte> data);

Type Changed: System.Security.Cryptography.Rfc2898DeriveBytes

Added constructors:

public Rfc2898DeriveBytes (byte[] password, byte[] salt, int iterations, HashAlgorithmName hashAlgorithm);
public Rfc2898DeriveBytes (string password, byte[] salt, int iterations, HashAlgorithmName hashAlgorithm);
public Rfc2898DeriveBytes (string password, int saltSize, int iterations, HashAlgorithmName hashAlgorithm);

Added property:

public HashAlgorithmName HashAlgorithm { get; }

New Type: System.Security.Cryptography.CryptographicOperations

public static class CryptographicOperations {
	// methods
	public static bool FixedTimeEquals (System.ReadOnlySpan<byte> left, System.ReadOnlySpan<byte> right);
	public static void ZeroMemory (System.Span<byte> buffer);
}

New Type: System.Security.Cryptography.PbeEncryptionAlgorithm

[Serializable]
public enum PbeEncryptionAlgorithm {
	Aes128Cbc = 1,
	Aes192Cbc = 2,
	Aes256Cbc = 3,
	TripleDes3KeyPkcs12 = 4,
	Unknown = 0,
}

New Type: System.Security.Cryptography.PbeParameters

public sealed class PbeParameters {
	// constructors
	public PbeParameters (PbeEncryptionAlgorithm encryptionAlgorithm, HashAlgorithmName hashAlgorithm, int iterationCount);
	// properties
	public PbeEncryptionAlgorithm EncryptionAlgorithm { get; }
	public HashAlgorithmName HashAlgorithm { get; }
	public int IterationCount { get; }
}

Namespace System.Security.Policy

Type Changed: System.Security.Policy.Evidence

Added constructor:

public Evidence (EvidenceBase[] hostEvidence, EvidenceBase[] assemblyEvidence);

Namespace System.Text

Type Changed: System.Text.Encoding

Added methods:

public virtual int GetByteCount (System.ReadOnlySpan<char> chars);
public virtual int GetBytes (System.ReadOnlySpan<char> chars, System.Span<byte> bytes);
public byte[] GetBytes (string s, int index, int count);
public virtual int GetCharCount (System.ReadOnlySpan<byte> bytes);

Namespace System.Threading

Type Changed: System.Threading.CancellationToken

Added method:

public CancellationTokenRegistration Register (System.Action<object> callback, object state, bool useSynchronizationContext, bool useExecutionContext);

Type Changed: System.Threading.CancellationTokenRegistration

Added interface:

System.IAsyncDisposable

Added methods:

public virtual Tasks.ValueTask DisposeAsync ();
public bool Unregister ();

Type Changed: System.Threading.Interlocked

Added method:

public static void MemoryBarrierProcessWide ();

Type Changed: System.Threading.SpinWait

Added method:

public void SpinOnce (int sleep1Threshold);

Type Changed: System.Threading.Thread

Added method:

public static int GetCurrentProcessorId ();

Type Changed: System.Threading.ThreadPool

Added methods:

public static bool QueueUserWorkItem<TState> (System.Action<TState> callBack, TState state, bool preferLocal);
public static bool UnsafeQueueUserWorkItem<TState> (System.Action<TState> callBack, TState state, bool preferLocal);

Type Changed: System.Threading.Timer

Added interface:

System.IAsyncDisposable

Added method:

public virtual Tasks.ValueTask DisposeAsync ();

Namespace System.Threading.Tasks

New Type: System.Threading.Tasks.TaskAsyncEnumerableExtensions

public static class TaskAsyncEnumerableExtensions {
	// methods
	public static System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> ConfigureAwait<T> (this System.Collections.Generic.IAsyncEnumerable<T> source, bool continueOnCapturedContext);
	public static System.Runtime.CompilerServices.ConfiguredAsyncDisposable ConfigureAwait (this System.IAsyncDisposable source, bool continueOnCapturedContext);
	public static System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> WithCancellation<T> (this System.Collections.Generic.IAsyncEnumerable<T> source, System.Threading.CancellationToken cancellationToken);
}

Namespace System.Threading.Tasks.Sources

New Type: System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1

public struct ManualResetValueTaskSourceCore`1 {
	// properties
	public bool RunContinuationsAsynchronously { get; set; }
	public short Version { get; }
	// methods
	public TResult GetResult (short token);
	public ValueTaskSourceStatus GetStatus (short token);
	public void OnCompleted (System.Action<object> continuation, object state, short token, ValueTaskSourceOnCompletedFlags flags);
	public void Reset ();
	public void SetException (System.Exception error);
	public void SetResult (TResult result);
}

New Namespace System.IO.Enumeration

New Type: System.IO.Enumeration.FileSystemEntry

public struct FileSystemEntry {
	// properties
	public System.IO.FileAttributes Attributes { get; }
	public System.DateTimeOffset CreationTimeUtc { get; }
	public System.ReadOnlySpan<char> Directory { get; }
	public System.ReadOnlySpan<char> FileName { get; }
	public bool IsDirectory { get; }
	public bool IsHidden { get; }
	public System.DateTimeOffset LastAccessTimeUtc { get; }
	public System.DateTimeOffset LastWriteTimeUtc { get; }
	public long Length { get; }
	public System.ReadOnlySpan<char> OriginalRootDirectory { get; }
	public System.ReadOnlySpan<char> RootDirectory { get; }
	// methods
	public System.IO.FileSystemInfo ToFileSystemInfo ();
	public string ToFullPath ();
	public string ToSpecifiedFullPath ();

	// inner types
	public struct <_fileNameBuffer>e__FixedBuffer {
		// fields
		public char FixedElementField;
	}
}

New Type: System.IO.Enumeration.FileSystemEnumerable`1

public class FileSystemEnumerable`1 : System.Collections.Generic.IEnumerable<TResult>, System.Collections.IEnumerable {
	// constructors
	public FileSystemEnumerable`1 (string directory, System.IO.Enumeration.FileSystemEnumerable<FindTransform[TResult> transform, ptions options);
	// properties
	public System.IO.Enumeration.FileSystemEnumerable<FindPredicate[TResult> ShouldIncludePredicate { get; set; }
	public System.IO.Enumeration.FileSystemEnumerable<FindPredicate[TResult> ShouldRecursePredicate { get; set; }
	// methods
	public virtual System.Collections.Generic.IEnumerator<TResult> GetEnumerator ();

	// inner types
	public sealed delegate FindPredicate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
		// constructors
		public FileSystemEnumerable`1.FindPredicate (object object, IntPtr method);
		// methods
		public virtual System.IAsyncResult BeginInvoke (ref FileSystemEntry entry, System.AsyncCallback callback, object object);
		public virtual bool EndInvoke (ref FileSystemEntry entry, System.IAsyncResult result);
		public virtual bool Invoke (ref FileSystemEntry entry);
	}
	public sealed delegate FindTransform : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
		// constructors
		public FileSystemEnumerable`1.FindTransform (object object, IntPtr method);
		// methods
		public virtual System.IAsyncResult BeginInvoke (ref FileSystemEntry entry, System.AsyncCallback callback, object object);
		public virtual TResult EndInvoke (ref FileSystemEntry entry, System.IAsyncResult result);
		public virtual TResult Invoke (ref FileSystemEntry entry);
	}
}

New Type: System.IO.Enumeration.FileSystemEnumerator`1

public abstract class FileSystemEnumerator`1 : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, System.Collections.Generic.IEnumerator<TResult>, System.Collections.IEnumerator, System.IDisposable {
	// constructors
	public FileSystemEnumerator`1 (string directory, ptions options);
	// properties
	public virtual TResult Current { get; }
	// methods
	protected virtual bool ContinueOnError (int error);
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public virtual bool MoveNext ();
	protected virtual void OnDirectoryFinished (System.ReadOnlySpan<char> directory);
	public virtual void Reset ();
	protected virtual bool ShouldIncludeEntry (ref FileSystemEntry entry);
	protected virtual bool ShouldRecurseIntoEntry (ref FileSystemEntry entry);
	protected virtual TResult TransformEntry (ref FileSystemEntry entry);
	protected override void ~FileSystemEnumerator ();
}

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);
}

OpenTK-1.0.dll

Removed Namespace System.Drawing

Removed Type System.Drawing.Color

Removed Type System.Drawing.KnownColor

System.Core.dll

Namespace System.IO.MemoryMappedFiles

Type Changed: System.IO.MemoryMappedFiles.MemoryMappedViewStream

Added interface:

System.IAsyncDisposable

Namespace System.IO.Pipes

Type Changed: System.IO.Pipes.AnonymousPipeClientStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Pipes.AnonymousPipeServerStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Pipes.NamedPipeClientStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Pipes.NamedPipeServerStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Pipes.PipeStream

Added interface:

System.IAsyncDisposable

Namespace System.Linq.Expressions

Type Changed: System.Linq.Expressions.LambdaExpression

Added methods:

public void CompileToMethod (System.Reflection.Emit.MethodBuilder method);
public void CompileToMethod (System.Reflection.Emit.MethodBuilder method, System.Runtime.CompilerServices.DebugInfoGenerator debugInfoGenerator);

Namespace System.Runtime.CompilerServices

Type Changed: System.Runtime.CompilerServices.RuntimeOps

Added methods:


[Obsolete ("do not use this method")]
public static IRuntimeVariables MergeRuntimeVariables (IRuntimeVariables first, IRuntimeVariables second, int[] indexes);

[Obsolete ("do not use this method")]
public static System.Linq.Expressions.Expression Quote (System.Linq.Expressions.Expression expression, object hoistedLocals, object[] locals);

Namespace System.Runtime.InteropServices

Type Changed: System.Runtime.InteropServices.ComAwareEventInfo

Removed interface:

_MemberInfo

Namespace System.Security.Cryptography

Type Changed: System.Security.Cryptography.ECDsa

Added methods:

public virtual byte[] ExportECPrivateKey ();
public virtual void ImportECPrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual bool TryExportECPrivateKey (System.Span<byte> destination, out int bytesWritten);
protected virtual bool TryHashData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignHash (System.ReadOnlySpan<byte> hash, System.Span<byte> destination, out int bytesWritten);
public virtual bool VerifyData (System.ReadOnlySpan<byte> data, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm);
public virtual bool VerifyHash (System.ReadOnlySpan<byte> hash, System.ReadOnlySpan<byte> signature);

Type Changed: System.Security.Cryptography.IncrementalHash

Added methods:

public void AppendData (System.ReadOnlySpan<byte> data);
public bool TryGetHashAndReset (System.Span<byte> destination, out int bytesWritten);

New Type: System.Security.Cryptography.ECDiffieHellman

public abstract class ECDiffieHellman : System.Security.Cryptography.AsymmetricAlgorithm, System.IDisposable {
	// constructors
	protected ECDiffieHellman ();
	// properties
	public override string KeyExchangeAlgorithm { get; }
	public virtual ECDiffieHellmanPublicKey PublicKey { get; }
	public override string SignatureAlgorithm { get; }
	// methods
	public static ECDiffieHellman Create ();
	public static ECDiffieHellman Create (ECCurve curve);
	public static ECDiffieHellman Create (ECParameters parameters);
	public static ECDiffieHellman Create (string algorithm);
	public byte[] DeriveKeyFromHash (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm);
	public virtual byte[] DeriveKeyFromHash (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[] secretPrepend, byte[] secretAppend);
	public byte[] DeriveKeyFromHmac (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[] hmacKey);
	public virtual byte[] DeriveKeyFromHmac (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[] hmacKey, byte[] secretPrepend, byte[] secretAppend);
	public virtual byte[] DeriveKeyMaterial (ECDiffieHellmanPublicKey otherPartyPublicKey);
	public virtual byte[] DeriveKeyTls (ECDiffieHellmanPublicKey otherPartyPublicKey, byte[] prfLabel, byte[] prfSeed);
	public virtual byte[] ExportECPrivateKey ();
	public virtual ECParameters ExportExplicitParameters (bool includePrivateParameters);
	public virtual ECParameters ExportParameters (bool includePrivateParameters);
	public virtual void GenerateKey (ECCurve curve);
	public virtual void ImportECPrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
	public virtual void ImportParameters (ECParameters parameters);
	public virtual bool TryExportECPrivateKey (System.Span<byte> destination, out int bytesWritten);
}

Namespace System.Security.Cryptography.X509Certificates

Type Changed: System.Security.Cryptography.X509Certificates.ECDsaCertificateExtensions

Added method:

public static X509Certificate2 CopyWithPrivateKey (this X509Certificate2 certificate, System.Security.Cryptography.ECDsa privateKey);

Type Changed: System.Security.Cryptography.X509Certificates.RSACertificateExtensions

Added method:

public static X509Certificate2 CopyWithPrivateKey (this X509Certificate2 certificate, System.Security.Cryptography.RSA privateKey);

New Namespace System.Net.Sockets

New Type: System.Net.Sockets.UnixDomainSocketEndPoint

public sealed class UnixDomainSocketEndPoint : System.Net.EndPoint {
	// constructors
	public UnixDomainSocketEndPoint (string path);
	// properties
	public override AddressFamily AddressFamily { get; }
	// methods
	public override System.Net.EndPoint Create (System.Net.SocketAddress socketAddress);
	public override System.Net.SocketAddress Serialize ();
	public override string ToString ();
}

New Namespace System.Reflection

New Type: System.Reflection.DispatchProxy

public abstract class DispatchProxy {
	// constructors
	protected DispatchProxy ();
	// methods
	public static T Create<T, TProxy> ();
	protected virtual object Invoke (MethodInfo targetMethod, object[] args);
}

System.Data.dll

Namespace System.Data.Common

New Type: System.Data.Common.DbProviderFactories

public static class DbProviderFactories {
	// methods
	public static DbProviderFactory GetFactory (DbConnection connection);
	public static DbProviderFactory GetFactory (System.Data.DataRow providerRow);
	public static DbProviderFactory GetFactory (string providerInvariantName);
	public static System.Data.DataTable GetFactoryClasses ();
	public static System.Collections.Generic.IEnumerable<string> GetProviderInvariantNames ();
	public static void RegisterFactory (string providerInvariantName, DbProviderFactory factory);
	public static void RegisterFactory (string providerInvariantName, string factoryTypeAssemblyQualifiedName);
	public static void RegisterFactory (string providerInvariantName, System.Type providerFactoryClass);
	public static bool TryGetFactory (string providerInvariantName, out DbProviderFactory factory);
	public static bool UnregisterFactory (string providerInvariantName);
}

Namespace System.Data.SqlClient

Type Changed: System.Data.SqlClient.SqlConnection

Added property:

public string AccessToken { get; set; }

System.IO.Compression.dll

Namespace System.IO.Compression

New Type: System.IO.Compression.BrotliDecoder

public struct BrotliDecoder, System.IDisposable {
	// methods
	public System.Buffers.OperationStatus Decompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesConsumed, out int bytesWritten);
	public virtual void Dispose ();
	public static bool TryDecompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesWritten);
}

New Type: System.IO.Compression.BrotliEncoder

public struct BrotliEncoder, System.IDisposable {
	// constructors
	public BrotliEncoder (int quality, int window);
	// methods
	public System.Buffers.OperationStatus Compress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock);
	public virtual void Dispose ();
	public System.Buffers.OperationStatus Flush (System.Span<byte> destination, out int bytesWritten);
	public static int GetMaxCompressedLength (int length);
	public static bool TryCompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesWritten);
	public static bool TryCompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesWritten, int quality, int window);
}

New Type: System.IO.Compression.BrotliStream

public sealed class BrotliStream : System.IO.Stream, System.IAsyncDisposable, System.IDisposable {
	// constructors
	public BrotliStream (System.IO.Stream stream, CompressionLevel compressionLevel);
	public BrotliStream (System.IO.Stream stream, CompressionMode mode);
	public BrotliStream (System.IO.Stream stream, CompressionLevel compressionLevel, bool leaveOpen);
	public BrotliStream (System.IO.Stream stream, CompressionMode mode, bool leaveOpen);
	// properties
	public System.IO.Stream BaseStream { get; }
	public override bool CanRead { get; }
	public override bool CanSeek { get; }
	public override bool CanWrite { get; }
	public override long Length { get; }
	public override long Position { get; set; }
	// methods
	public override System.IAsyncResult BeginRead (byte[] buffer, int offset, int count, System.AsyncCallback asyncCallback, object asyncState);
	public override System.IAsyncResult BeginWrite (byte[] buffer, int offset, int count, System.AsyncCallback asyncCallback, object asyncState);
	protected override void Dispose (bool disposing);
	public override int EndRead (System.IAsyncResult asyncResult);
	public override void EndWrite (System.IAsyncResult asyncResult);
	public override void Flush ();
	public override System.Threading.Tasks.Task FlushAsync (System.Threading.CancellationToken cancellationToken);
	public override int Read (System.Span<byte> buffer);
	public override int Read (byte[] buffer, int offset, int count);
	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 long Seek (long offset, System.IO.SeekOrigin origin);
	public override void SetLength (long value);
	public override void Write (System.ReadOnlySpan<byte> buffer);
	public override void Write (byte[] buffer, int offset, int count);
	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);
}

System.dll

Namespace System.CodeDom.Compiler

Type Changed: System.CodeDom.Compiler.IndentedTextWriter

Added interface:

System.IAsyncDisposable

Namespace System.Collections.Generic

Removed Type System.Collections.Generic.Queue`1

Removed Type System.Collections.Generic.Stack`1

Namespace System.ComponentModel

Type Changed: System.ComponentModel.BaseNumberConverter

Removed constructor:

protected BaseNumberConverter ();

Namespace System.Diagnostics

Type Changed: System.Diagnostics.ProcessStartInfo

Added properties:

public System.Collections.ObjectModel.Collection<string> ArgumentList { get; }
public System.Text.Encoding StandardInputEncoding { get; set; }

Namespace System.IO.Compression

Type Changed: System.IO.Compression.DeflateStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Compression.GZipStream

Added interface:

System.IAsyncDisposable

Namespace System.Net

Type Changed: System.Net.HttpStatusCode

Added values:

AlreadyReported = 208,
EarlyHints = 103,
FailedDependency = 424,
IMUsed = 226,
InsufficientStorage = 507,
Locked = 423,
LoopDetected = 508,
MisdirectedRequest = 421,
MultiStatus = 207,
NetworkAuthenticationRequired = 511,
NotExtended = 510,
PermanentRedirect = 308,
PreconditionRequired = 428,
Processing = 102,
RequestHeaderFieldsTooLarge = 431,
TooManyRequests = 429,
UnavailableForLegalReasons = 451,
UnprocessableEntity = 422,
VariantAlsoNegotiates = 506,

Type Changed: System.Net.HttpVersion

Added fields:

public static System.Version Unknown;
public static System.Version Version20;

Type Changed: System.Net.HttpWebResponse

Added constructor:

public HttpWebResponse ();

Type Changed: System.Net.IPAddress

Added constructors:

public IPAddress (System.ReadOnlySpan<byte> address);
public IPAddress (System.ReadOnlySpan<byte> address, long scopeid);

Added methods:

public static IPAddress Parse (System.ReadOnlySpan<char> ipSpan);
public bool TryFormat (System.Span<char> destination, out int charsWritten);
public static bool TryParse (System.ReadOnlySpan<char> ipSpan, out IPAddress address);
public bool TryWriteBytes (System.Span<byte> destination, out int bytesWritten);

Type Changed: System.Net.SecurityProtocolType

Added value:

Tls13 = 12288,

Namespace System.Net.Security

Type Changed: System.Net.Security.AuthenticatedStream

Added interface:

System.IAsyncDisposable

Type Changed: System.Net.Security.NegotiateStream

Added interface:

System.IAsyncDisposable

Type Changed: System.Net.Security.SslStream

Added interface:

System.IAsyncDisposable

Added property:

public SslApplicationProtocol NegotiatedApplicationProtocol { get; }

Namespace System.Net.Sockets

Type Changed: System.Net.Sockets.NetworkStream

Added interface:

System.IAsyncDisposable

Type Changed: System.Net.Sockets.Socket

Added methods:

public int Receive (System.Span<byte> buffer);
public int Receive (System.Span<byte> buffer, SocketFlags socketFlags, out SocketError errorCode);
public int Send (System.ReadOnlySpan<byte> buffer);
public int Send (System.ReadOnlySpan<byte> buffer, SocketFlags socketFlags, out SocketError errorCode);

Type Changed: System.Net.Sockets.SocketAsyncEventArgs

Added property:

public System.Memory<byte> MemoryBuffer { get; }

Added method:

public void SetBuffer (System.Memory<byte> buffer);

Type Changed: System.Net.Sockets.SocketTaskExtensions

Added methods:

public static System.Threading.Tasks.ValueTask<int> ReceiveAsync (this Socket socket, System.Memory<byte> memory, SocketFlags socketFlags, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.ValueTask<int> SendAsync (this Socket socket, System.ReadOnlyMemory<byte> buffer, SocketFlags socketFlags, System.Threading.CancellationToken cancellationToken);

Namespace System.Security.Authentication

Type Changed: System.Security.Authentication.HashAlgorithmType

Added values:

Sha256 = 32780,
Sha384 = 32781,
Sha512 = 32782,

Type Changed: System.Security.Authentication.SslProtocols

Added value:

Tls13 = 12288,

Namespace System.Security.Cryptography.X509Certificates

Type Changed: System.Security.Cryptography.X509Certificates.X509Certificate2

Removed method:

public override byte[] Export (X509ContentType contentType, string password);

Type Changed: System.Security.Cryptography.X509Certificates.X509Store

Added constructors:

public X509Store (StoreName storeName, StoreLocation storeLocation, OpenFlags openFlags);
public X509Store (string storeName, StoreLocation storeLocation, OpenFlags openFlags);

Added property:

public bool IsOpen { get; }

New Type: System.Security.Cryptography.X509Certificates.CertificateRequest

public sealed class CertificateRequest {
	// constructors
	public CertificateRequest (X500DistinguishedName subjectName, System.Security.Cryptography.ECDsa key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
	public CertificateRequest (X500DistinguishedName subjectName, PublicKey publicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
	public CertificateRequest (string subjectName, System.Security.Cryptography.ECDsa key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
	public CertificateRequest (X500DistinguishedName subjectName, System.Security.Cryptography.RSA key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.RSASignaturePadding padding);
	public CertificateRequest (string subjectName, System.Security.Cryptography.RSA key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.RSASignaturePadding padding);
	// properties
	public System.Collections.ObjectModel.Collection<X509Extension> CertificateExtensions { get; }
	public System.Security.Cryptography.HashAlgorithmName HashAlgorithm { get; }
	public PublicKey PublicKey { get; }
	public X500DistinguishedName SubjectName { get; }
	// methods
	public X509Certificate2 Create (X509Certificate2 issuerCertificate, System.DateTimeOffset notBefore, System.DateTimeOffset notAfter, byte[] serialNumber);
	public X509Certificate2 Create (X500DistinguishedName issuerName, X509SignatureGenerator generator, System.DateTimeOffset notBefore, System.DateTimeOffset notAfter, byte[] serialNumber);
	public X509Certificate2 CreateSelfSigned (System.DateTimeOffset notBefore, System.DateTimeOffset notAfter);
	public byte[] CreateSigningRequest ();
	public byte[] CreateSigningRequest (X509SignatureGenerator signatureGenerator);
}

New Type: System.Security.Cryptography.X509Certificates.SubjectAlternativeNameBuilder

public sealed class SubjectAlternativeNameBuilder {
	// constructors
	public SubjectAlternativeNameBuilder ();
	// methods
	public void AddDnsName (string dnsName);
	public void AddEmailAddress (string emailAddress);
	public void AddIpAddress (System.Net.IPAddress ipAddress);
	public void AddUri (System.Uri uri);
	public void AddUserPrincipalName (string upn);
	public X509Extension Build (bool critical);
}

New Type: System.Security.Cryptography.X509Certificates.X509SignatureGenerator

public abstract class X509SignatureGenerator {
	// constructors
	protected X509SignatureGenerator ();
	// properties
	public PublicKey PublicKey { get; }
	// methods
	protected virtual PublicKey BuildPublicKey ();
	public static X509SignatureGenerator CreateForECDsa (System.Security.Cryptography.ECDsa key);
	public static X509SignatureGenerator CreateForRSA (System.Security.Cryptography.RSA key, System.Security.Cryptography.RSASignaturePadding signaturePadding);
	public virtual byte[] GetSignatureAlgorithmIdentifier (System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
	public virtual byte[] SignData (byte[] data, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
}

Removed Namespace System.IO.Enumeration

Removed Type System.IO.Enumeration.FileSystemName

System.Net.Http.dll

Namespace System.Net.Http

Type Changed: System.Net.Http.HttpClient

Added methods:

public System.Threading.Tasks.Task<HttpResponseMessage> PatchAsync (string requestUri, HttpContent content);
public System.Threading.Tasks.Task<HttpResponseMessage> PatchAsync (System.Uri requestUri, HttpContent content);
public System.Threading.Tasks.Task<HttpResponseMessage> PatchAsync (string requestUri, HttpContent content, System.Threading.CancellationToken cancellationToken);
public System.Threading.Tasks.Task<HttpResponseMessage> PatchAsync (System.Uri requestUri, HttpContent content, System.Threading.CancellationToken cancellationToken);

Type Changed: System.Net.Http.HttpClientHandler

Added property:

public static System.Func<HttpRequestMessage,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors,System.Boolean> DangerousAcceptAnyServerCertificateValidator { get; }

Type Changed: System.Net.Http.HttpMethod

Added property:

public static HttpMethod Patch { get; }

Removed Type System.Net.Http.CFNetworkHandler

Removed Type System.Net.Http.NSUrlSessionHandler

New Type: System.Net.Http.ReadOnlyMemoryContent

public sealed class ReadOnlyMemoryContent : System.Net.Http.HttpContent, System.IDisposable {
	// constructors
	public ReadOnlyMemoryContent (System.ReadOnlyMemory<byte> content);
	// methods
	protected override System.Threading.Tasks.Task SerializeToStreamAsync (System.IO.Stream stream, System.Net.TransportContext context);
	protected override bool TryComputeLength (out long length);
}

System.ServiceModel.dll

Namespace System.Collections.Generic

Type Changed: System.Collections.Generic.SynchronizedCollection`1

Removed constructor:

public SynchronizedCollection`1 (object syncRoot, System.Collections.Generic.List<T> list, bool makeCopy);

Type Changed: System.Collections.Generic.SynchronizedReadOnlyCollection`1

Removed constructor:

public SynchronizedReadOnlyCollection`1 (object sync_root, System.Collections.Generic.List<T> list, bool make_copy);

System.Xml.dll

Namespace System.Xml.Serialization

Type Changed: System.Xml.Serialization.XmlSchemaImporter

Modified base type:

-System.Object
+System.Xml.Serialization.SchemaImporter

New Type: System.Xml.Serialization.SchemaImporter

public abstract class SchemaImporter {
	// constructors
	protected SchemaImporter ();
}

Xamarin.TVOS.dll

Namespace Compression

Type Changed: Compression.CompressionStream

Added interface:

System.IAsyncDisposable

Namespace CoreGraphics

Type Changed: CoreGraphics.CGPattern

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 ~CGPattern ();

Added methods:

protected override void Release ();
protected override void Retain ();

Namespace Foundation

Type Changed: Foundation.NSArray

Added methods:

public static NSArray FromNSObjects<T> (T[0...,0...] items);
public static NSArray FromNSObjects<T> (T[][] items);

Type Changed: Foundation.NSDataDetector

Added constructors:

public NSDataDetector (NSTextCheckingType options, out NSError error);
public NSDataDetector (NSTextCheckingTypes options, out NSError error);

Added method:

public static NSDataDetector Create (NSTextCheckingType checkingTypes, out NSError error);

Type Changed: Foundation.NSRegularExpression

Obsoleted methods:

 [Obsolete ("Use 'GetMatches2' instead, this method has the wrong return type.")]
 public virtual NSString[] GetMatches (NSString str, NSMatchingOptions options, NSRange range);

Added methods:

public static NSRegularExpression Create (NSString pattern, NSRegularExpressionOptions options, out NSError error);
public NSTextCheckingResult[] GetMatches2 (NSString str, NSMatchingOptions options, NSRange range);

Type Changed: Foundation.NSRegularExpressionOptions

Added value:

UseUnixLineSeparators = 32,

Type Changed: Foundation.NSUrlRequestNetworkServiceType

Modified fields:

-ResponsiveData = 5
+ResponsiveData = 6

Namespace Metal

Type Changed: Metal.IMTLDevice

Obsoleted methods:

 [Obsolete ("Use the overload that take a 'DispatchData' instead.")]
 public virtual IMTLLibrary CreateLibrary (Foundation.NSObject data, out Foundation.NSError error);

Type Changed: Metal.MTLDevice_Extensions

Obsoleted methods:

 [Obsolete ("Use the overload that takes an IntPtr instead. The 'data' parameter must be page-aligned and allocated using vm_allocate or mmap, which won't be the case for managed arrays, so this method will always fail.")]
 public static IMTLBuffer CreateBufferNoCopy<T> (this IMTLDevice This, T[] data, MTLResourceOptions options, MTLDeallocator deallocator);
 [Obsolete ("Use 'CreateDefaultLibrary' instead.")]
 public static IMTLLibrary CreateLibrary (this IMTLDevice This, Foundation.NSBundle bundle, out Foundation.NSError error);

Added methods:

public static IMTLLibrary CreateDefaultLibrary (this IMTLDevice This, Foundation.NSBundle bundle, out Foundation.NSError error);
public static IMTLLibrary CreateLibrary (this IMTLDevice This, CoreFoundation.DispatchData data, out Foundation.NSError error);
public static System.Threading.Tasks.Task<IMTLLibrary> CreateLibraryAsync (this IMTLDevice This, string source, MTLCompileOptions options);

Type Changed: Metal.MTLFunctionConstantValues

Added constructor:

public MTLFunctionConstantValues ();

Type Changed: Metal.MTLLibrary_Extensions

Added method:

public static System.Threading.Tasks.Task<IMTLFunction> CreateFunctionAsync (this IMTLLibrary This, string name, MTLFunctionConstantValues constantValues);

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Class

Added interface:

System.IEquatable<Class>

Added methods:

public virtual bool Equals (Class right);
public override bool Equals (object right);
public override int GetHashCode ();

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string Version = "12.10.0";
+public const string Version = "12.16.0";

Removed Namespace System.Drawing

Removed Type System.Drawing.Point

Removed Type System.Drawing.PointF

Removed Type System.Drawing.Rectangle

Removed Type System.Drawing.RectangleF

Removed Type System.Drawing.Size

Removed Type System.Drawing.SizeF

New Namespace System.Net.Http

New Type: System.Net.Http.CFNetworkHandler

public class CFNetworkHandler : System.Net.Http.HttpMessageHandler, System.IDisposable {
	// constructors
	public CFNetworkHandler ();
	// properties
	public bool AllowAutoRedirect { get; set; }
	public System.Net.CookieContainer CookieContainer { get; set; }
	public bool UseSystemProxy { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	protected override System.Threading.Tasks.Task<HttpResponseMessage> SendAsync (HttpRequestMessage request, System.Threading.CancellationToken cancellationToken);
}

New Type: System.Net.Http.NSUrlSessionHandler

public class NSUrlSessionHandler : System.Net.Http.HttpMessageHandler, System.IDisposable {
	// constructors
	public NSUrlSessionHandler ();
	public NSUrlSessionHandler (Foundation.NSUrlSessionConfiguration configuration);
	// properties
	public bool AllowAutoRedirect { get; set; }
	public bool AllowsCellularAccess { get; set; }
	public System.Net.ICredentials Credentials { get; set; }
	public bool DisableCaching { get; set; }
	public long MaxInputInMemory { get; set; }
	public NSUrlSessionHandlerTrustOverrideCallback TrustOverride { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	protected override System.Threading.Tasks.Task<HttpResponseMessage> SendAsync (HttpRequestMessage request, System.Threading.CancellationToken cancellationToken);
}

New Type: System.Net.Http.NSUrlSessionHandlerTrustOverrideCallback

public sealed delegate NSUrlSessionHandlerTrustOverrideCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NSUrlSessionHandlerTrustOverrideCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (NSUrlSessionHandler sender, Security.SecTrust trust, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (System.IAsyncResult result);
	public virtual bool Invoke (NSUrlSessionHandler sender, Security.SecTrust trust);
}