id | title |
---|---|
3EDDAEFE-2312-4C85-93EB-0C938E3C4D94 |
iOS 10.3.1 to 10.4.0 |
System.Runtime.Serialization.dll
<style scoped=""> .obsolete { color: gray; } .added { color: green; } .removed-inline { text-decoration: line-through; } .removed-breaking-inline { color: red;} .added-breaking-inline { text-decoration: underline; } .nonbreaking { color: black; } .breaking { color: red; } </style> <script type="text/javascript">
// Only some elements have 'data-is-[non-]breaking' attributes. Here we
// iterate over all descendents elements, and set 'data-is-[non-]breaking'
// depending on whether there are any descendents with that attribute.
function propagateDataAttribute (element)
{
if (element.hasAttribute ('data-is-propagated'))
return;
var i;
var any_breaking = element.hasAttribute ('data-is-breaking');
var any_non_breaking = element.hasAttribute ('data-is-non-breaking');
for (i = 0; i < element.children.length; i++) {
var el = element.children [i];
propagateDataAttribute (el);
any_breaking |= el.hasAttribute ('data-is-breaking');
any_non_breaking |= el.hasAttribute ('data-is-non-breaking');
}
if (any_breaking)
element.setAttribute ('data-is-breaking', null);
else if (any_non_breaking)
element.setAttribute ('data-is-non-breaking', null);
element.setAttribute ('data-is-propagated', null);
}
function hideNonBreakingChanges ()
{
var topNodes = document.querySelectorAll ('[data-is-topmost]');
var n;
var i;
for (n = 0; n < topNodes.length; n++) {
propagateDataAttribute (topNodes [n]);
var elements = topNodes [n].querySelectorAll ('[data-is-non-breaking]');
for (i = 0; i < elements.length; i++) {
var el = elements [i];
if (!el.hasAttribute ('data-original-display'))
el.setAttribute ('data-original-display', el.style.display);
el.style.display = 'none';
}
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
}
function showNonBreakingChanges ()
{
var elements = document.querySelectorAll ('[data-original-display]');
var i;
for (i = 0; i < elements.length; i++) {
var el = elements [i];
el.style.display = el.getAttribute ('data-original-display');
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
}
</script>
[Hide non-breaking changes](javascript: hideNonBreakingChanges (); ) [Show non-breaking changes](javascript: showNonBreakingChanges (); )
Added event:
public event ResolveEventHandler ReflectionOnlyAssemblyResolve;
Added method:
[Obsolete ("Use AppDomainSetup.DynamicBase")]
public void SetDynamicBase (string path);
Added methods:
public static void Collect (int generation, GCCollectionMode mode, bool blocking, bool compacting); public static void EndNoGCRegion (); public static bool TryStartNoGCRegion (long totalSize); public static bool TryStartNoGCRegion (long totalSize, bool disallowFullBlockingGC); public static bool TryStartNoGCRegion (long totalSize, long lohSize); public static bool TryStartNoGCRegion (long totalSize, long lohSize, bool disallowFullBlockingGC);
Added constructor:
protected EventSourceException (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
Added methods:
public static FileStream Create (string path, int bufferSize, FileOptions options, System.Security.AccessControl.FileSecurity fileSecurity); public static System.Security.AccessControl.FileSecurity GetAccessControl (string path); public static System.Security.AccessControl.FileSecurity GetAccessControl (string path, System.Security.AccessControl.AccessControlSections includeSections); public static void SetAccessControl (string path, System.Security.AccessControl.FileSecurity fileSecurity);
Added methods:
public System.Security.AccessControl.FileSecurity GetAccessControl (); public System.Security.AccessControl.FileSecurity GetAccessControl (System.Security.AccessControl.AccessControlSections includeSections); public void SetAccessControl (System.Security.AccessControl.FileSecurity fileSecurity);
Added constructors:
public FileStream (string path, FileMode mode, System.Security.AccessControl.FileSystemRights rights, FileShare share, int bufferSize, FileOptions options); public FileStream (string path, FileMode mode, System.Security.AccessControl.FileSystemRights rights, FileShare share, int bufferSize, FileOptions options, System.Security.AccessControl.FileSecurity fileSecurity);
Added methods:
public System.Security.AccessControl.FileSecurity GetAccessControl (); public void SetAccessControl (System.Security.AccessControl.FileSecurity fileSecurity);
Added interface:
System.Runtime.Serialization.ISerializable
Added property:
public virtual System.Security.SecurityRuleSet SecurityRuleSet { get; }
public class AssemblyBuilder : System.Reflection.Assembly, System.Reflection.ICustomAttributeProvider, System.Runtime.Serialization.ISerializable { // constructors public AssemblyBuilder (); // methods public static AssemblyBuilder DefineDynamicAssembly (System.Reflection.AssemblyName name, AssemblyBuilderAccess access); public static AssemblyBuilder DefineDynamicAssembly (System.Reflection.AssemblyName name, AssemblyBuilderAccess access, System.Collections.Generic.IEnumerable<CustomAttributeBuilder> assemblyAttributes); public ModuleBuilder DefineDynamicModule (string name); public ModuleBuilder GetDynamicModule (string name); public void SetCustomAttribute (CustomAttributeBuilder customBuilder); public void SetCustomAttribute (System.Reflection.ConstructorInfo con, byte[] binaryAttribute); }
[Serializable] [Flags] public enum AssemblyBuilderAccess { ReflectionOnly = 6, Run = 1, RunAndCollect = 9, RunAndSave = 3, Save = 2, }
public abstract class ConstructorBuilder : System.Reflection.ConstructorInfo, System.Reflection.ICustomAttributeProvider, System.Runtime.InteropServices._MemberInfo, System.Runtime.InteropServices._MethodBase { // constructors protected ConstructorBuilder (); // properties public override System.Reflection.MethodAttributes Attributes { get; } public override System.Type DeclaringType { get; } public bool InitLocals { get; set; } public override string Name { get; } // methods public ParameterBuilder DefineParameter (int iSequence, System.Reflection.ParameterAttributes attributes, string strParamName); public ILGenerator GetILGenerator (); public ILGenerator GetILGenerator (int streamSize); public override System.Reflection.ParameterInfo[] GetParameters (); public void SetCustomAttribute (CustomAttributeBuilder customBuilder); public void SetCustomAttribute (System.Reflection.ConstructorInfo con, byte[] binaryAttribute); public void SetImplementationFlags (System.Reflection.MethodImplAttributes attributes); }
public class CustomAttributeBuilder { // constructors public CustomAttributeBuilder (System.Reflection.ConstructorInfo con, object[] constructorArgs); public CustomAttributeBuilder (System.Reflection.ConstructorInfo con, object[] constructorArgs, System.Reflection.FieldInfo[] namedFields, object[] fieldValues); public CustomAttributeBuilder (System.Reflection.ConstructorInfo con, object[] constructorArgs, System.Reflection.PropertyInfo[] namedProperties, object[] propertyValues); public CustomAttributeBuilder (System.Reflection.ConstructorInfo con, object[] constructorArgs, System.Reflection.PropertyInfo[] namedProperties, object[] propertyValues, System.Reflection.FieldInfo[] namedFields, object[] fieldValues); }
public abstract class EnumBuilder : System.Reflection.TypeInfo, System.Reflection.ICustomAttributeProvider, System.Reflection.IReflect, System.Reflection.IReflectableType, System.Runtime.InteropServices._MemberInfo, System.Runtime.InteropServices._Type { // constructors protected EnumBuilder (); // properties public override System.Reflection.Assembly Assembly { get; } public override string AssemblyQualifiedName { get; } public override System.Type BaseType { get; } public override string FullName { get; } public override System.Guid GUID { get; } public override System.Reflection.Module Module { get; } public override string Name { get; } public override string Namespace { get; } public FieldBuilder UnderlyingField { get; } // methods public System.Reflection.TypeInfo CreateTypeInfo (); public FieldBuilder DefineLiteral (string literalName, object literalValue); public override System.Type GetElementType (); public void SetCustomAttribute (CustomAttributeBuilder customBuilder); public void SetCustomAttribute (System.Reflection.ConstructorInfo con, byte[] binaryAttribute); }
public class EventBuilder { // constructors public EventBuilder (); // methods public void AddOtherMethod (MethodBuilder mdBuilder); public void SetAddOnMethod (MethodBuilder mdBuilder); public void SetCustomAttribute (CustomAttributeBuilder customBuilder); public void SetCustomAttribute (System.Reflection.ConstructorInfo con, byte[] binaryAttribute); public void SetRaiseMethod (MethodBuilder mdBuilder); public void SetRemoveOnMethod (MethodBuilder mdBuilder); }
public abstract class FieldBuilder : System.Reflection.FieldInfo, System.Reflection.ICustomAttributeProvider, System.Runtime.InteropServices._MemberInfo { // constructors protected FieldBuilder (); // properties public override System.Reflection.FieldAttributes Attributes { get; } public override System.Type DeclaringType { get; } public override System.Type FieldType { get; } public override string Name { get; } // methods public override object GetValue (object obj); public void SetConstant (object defaultValue); public void SetCustomAttribute (CustomAttributeBuilder customBuilder); public void SetCustomAttribute (System.Reflection.ConstructorInfo con, byte[] binaryAttribute); public void SetOffset (int iOffset); }
public abstract class GenericTypeParameterBuilder : System.Reflection.TypeInfo, System.Reflection.ICustomAttributeProvider, System.Reflection.IReflect, System.Reflection.IReflectableType, System.Runtime.InteropServices._MemberInfo, System.Runtime.InteropServices._Type { // constructors protected GenericTypeParameterBuilder (); // properties public override System.Reflection.Assembly Assembly { get; } public override string AssemblyQualifiedName { get; } public override System.Type BaseType { get; } public override string FullName { get; } public override System.Guid GUID { get; } public override System.Reflection.Module Module { get; } public override string Name { get; } public override string Namespace { get; } // methods public override System.Type GetElementType (); public void SetBaseTypeConstraint (System.Type baseTypeConstraint); public void SetCustomAttribute (CustomAttributeBuilder customBuilder); public void SetCustomAttribute (System.Reflection.ConstructorInfo con, byte[] binaryAttribute); public void SetGenericParameterAttributes (System.Reflection.GenericParameterAttributes genericParameterAttributes); public void SetInterfaceConstraints (System.Type[] interfaceConstraints); }
public class ILGenerator { // properties public int ILOffset { get; } // methods public virtual void BeginCatchBlock (System.Type exceptionType); public virtual void BeginExceptFilterBlock (); public virtual Label BeginExceptionBlock (); public virtual void BeginFaultBlock (); public virtual void BeginFinallyBlock (); public virtual void BeginScope (); public virtual LocalBuilder DeclareLocal (System.Type localType); public virtual LocalBuilder DeclareLocal (System.Type localType, bool pinned); public virtual Label DefineLabel (); public virtual void Emit (OpCode opcode); public virtual void Emit (OpCode opcode, byte arg); public virtual void Emit (OpCode opcode, double arg); public virtual void Emit (OpCode opcode, short arg); public virtual void Emit (OpCode opcode, int arg); public virtual void Emit (OpCode opcode, long arg); public virtual void Emit (OpCode opcode, System.Reflection.ConstructorInfo con); public virtual void Emit (OpCode opcode, Label label); public virtual void Emit (OpCode opcode, Label[] labels); public virtual void Emit (OpCode opcode, LocalBuilder local); public virtual void Emit (OpCode opcode, SignatureHelper signature); public virtual void Emit (OpCode opcode, System.Reflection.FieldInfo field); public virtual void Emit (OpCode opcode, System.Reflection.MethodInfo meth); public void Emit (OpCode opcode, sbyte arg); public virtual void Emit (OpCode opcode, float arg); public virtual void Emit (OpCode opcode, string str); public virtual void Emit (OpCode opcode, System.Type cls); public virtual void EmitCall (OpCode opcode, System.Reflection.MethodInfo methodInfo, System.Type[] optionalParameterTypes); public virtual void EmitCalli (OpCode opcode, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes, System.Type[] optionalParameterTypes); public virtual void EmitWriteLine (LocalBuilder localBuilder); public virtual void EmitWriteLine (System.Reflection.FieldInfo fld); public virtual void EmitWriteLine (string value); public virtual void EndExceptionBlock (); public virtual void EndScope (); public virtual void MarkLabel (Label loc); public virtual void ThrowException (System.Type excType); public virtual void UsingNamespace (string usingNamespace); }
[Serializable] public struct Label { // methods public override bool Equals (object obj); public bool Equals (Label obj); public override int GetHashCode (); public static bool op_Equality (Label a, Label b); public static bool op_Inequality (Label a, Label b); }
public sealed class LocalBuilder : System.Reflection.LocalVariableInfo { // properties public override bool IsPinned { get; } public override int LocalIndex { get; } public override System.Type LocalType { get; } // methods public void SetLocalSymInfo (string name); public void SetLocalSymInfo (string name, int startOffset, int endOffset); }
public abstract class MethodBuilder : System.Reflection.MethodInfo, System.Reflection.ICustomAttributeProvider, System.Runtime.InteropServices._MemberInfo, System.Runtime.InteropServices._MethodBase { // constructors protected MethodBuilder (); // properties public override System.Reflection.MethodAttributes Attributes { get; } public override System.Type DeclaringType { get; } public bool InitLocals { get; set; } public override string Name { get; } // methods public GenericTypeParameterBuilder[] DefineGenericParameters (string[] names); public ParameterBuilder DefineParameter (int position, System.Reflection.ParameterAttributes attributes, string strParamName); public ILGenerator GetILGenerator (); public ILGenerator GetILGenerator (int size); public override System.Reflection.ParameterInfo[] GetParameters (); public void SetCustomAttribute (CustomAttributeBuilder customBuilder); public void SetCustomAttribute (System.Reflection.ConstructorInfo con, byte[] binaryAttribute); public void SetImplementationFlags (System.Reflection.MethodImplAttributes attributes); public void SetParameters (System.Type[] parameterTypes); public void SetReturnType (System.Type returnType); public void SetSignature (System.Type returnType, System.Type[] returnTypeRequiredCustomModifiers, System.Type[] returnTypeOptionalCustomModifiers, System.Type[] parameterTypes, System.Type[][] parameterTypeRequiredCustomModifiers, System.Type[][] parameterTypeOptionalCustomModifiers); }
public abstract class ModuleBuilder : System.Reflection.Module, System.Reflection.ICustomAttributeProvider, System.Runtime.Serialization.ISerializable { // constructors protected ModuleBuilder (); // methods public void CreateGlobalFunctions (); public EnumBuilder DefineEnum (string name, System.Reflection.TypeAttributes visibility, System.Type underlyingType); public MethodBuilder DefineGlobalMethod (string name, System.Reflection.MethodAttributes attributes, System.Type returnType, System.Type[] parameterTypes); public MethodBuilder DefineGlobalMethod (string name, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes); public MethodBuilder DefineGlobalMethod (string name, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] requiredReturnTypeCustomModifiers, System.Type[] optionalReturnTypeCustomModifiers, System.Type[] parameterTypes, System.Type[][] requiredParameterTypeCustomModifiers, System.Type[][] optionalParameterTypeCustomModifiers); public FieldBuilder DefineInitializedData (string name, byte[] data, System.Reflection.FieldAttributes attributes); public TypeBuilder DefineType (string name); public TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr); public TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, System.Type parent); public TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, System.Type parent, int typesize); public TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, System.Type parent, PackingSize packsize); public TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, System.Type parent, System.Type[] interfaces); public TypeBuilder DefineType (string name, System.Reflection.TypeAttributes attr, System.Type parent, PackingSize packingSize, int typesize); public FieldBuilder DefineUninitializedData (string name, int size, System.Reflection.FieldAttributes attributes); public System.Reflection.MethodInfo GetArrayMethod (System.Type arrayClass, string methodName, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes); public void SetCustomAttribute (CustomAttributeBuilder customBuilder); public void SetCustomAttribute (System.Reflection.ConstructorInfo con, byte[] binaryAttribute); }
public class ParameterBuilder { // properties public int Attributes { get; } public bool IsIn { get; } public bool IsOptional { get; } public bool IsOut { get; } public string Name { get; } public int Position { get; } // methods public virtual void SetConstant (object defaultValue); public void SetCustomAttribute (CustomAttributeBuilder customBuilder); public void SetCustomAttribute (System.Reflection.ConstructorInfo con, byte[] binaryAttribute); }
public abstract class PropertyBuilder : System.Reflection.PropertyInfo, System.Reflection.ICustomAttributeProvider, System.Runtime.InteropServices._MemberInfo { // constructors protected PropertyBuilder (); // properties public override System.Reflection.PropertyAttributes Attributes { get; } public override bool CanRead { get; } public override bool CanWrite { get; } public override System.Type DeclaringType { get; } public override string Name { get; } public override System.Type PropertyType { get; } // methods public void AddOtherMethod (MethodBuilder mdBuilder); public override System.Reflection.ParameterInfo[] GetIndexParameters (); public void SetConstant (object defaultValue); public void SetCustomAttribute (CustomAttributeBuilder customBuilder); public void SetCustomAttribute (System.Reflection.ConstructorInfo con, byte[] binaryAttribute); public void SetGetMethod (MethodBuilder mdBuilder); public void SetSetMethod (MethodBuilder mdBuilder); }
public class SignatureHelper { // methods public void AddArgument (System.Type clsArgument); public void AddArgument (System.Type argument, bool pinned); public void AddArgument (System.Type argument, System.Type[] requiredCustomModifiers, System.Type[] optionalCustomModifiers); public void AddArguments (System.Type[] arguments, System.Type[][] requiredCustomModifiers, System.Type[][] optionalCustomModifiers); public void AddSentinel (); public static SignatureHelper GetFieldSigHelper (System.Reflection.Module mod); public static SignatureHelper GetLocalVarSigHelper (); public static SignatureHelper GetLocalVarSigHelper (System.Reflection.Module mod); public static SignatureHelper GetMethodSigHelper (System.Reflection.CallingConventions callingConvention, System.Type returnType); public static SignatureHelper GetMethodSigHelper (System.Reflection.Module mod, System.Reflection.CallingConventions callingConvention, System.Type returnType); public static SignatureHelper GetMethodSigHelper (System.Reflection.Module mod, System.Type returnType, System.Type[] parameterTypes); public static SignatureHelper GetPropertySigHelper (System.Reflection.Module mod, System.Type returnType, System.Type[] parameterTypes); public static SignatureHelper GetPropertySigHelper (System.Reflection.Module mod, System.Type returnType, System.Type[] requiredReturnTypeCustomModifiers, System.Type[] optionalReturnTypeCustomModifiers, System.Type[] parameterTypes, System.Type[][] requiredParameterTypeCustomModifiers, System.Type[][] optionalParameterTypeCustomModifiers); public static SignatureHelper GetPropertySigHelper (System.Reflection.Module mod, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] requiredReturnTypeCustomModifiers, System.Type[] optionalReturnTypeCustomModifiers, System.Type[] parameterTypes, System.Type[][] requiredParameterTypeCustomModifiers, System.Type[][] optionalParameterTypeCustomModifiers); public byte[] GetSignature (); }
public abstract class TypeBuilder : System.Reflection.TypeInfo, System.Reflection.ICustomAttributeProvider, System.Reflection.IReflect, System.Reflection.IReflectableType, System.Runtime.InteropServices._MemberInfo, System.Runtime.InteropServices._Type { // constructors protected TypeBuilder (); // fields public static const int UnspecifiedTypeSize; // properties public override System.Reflection.Assembly Assembly { get; } public override string AssemblyQualifiedName { get; } public override System.Type BaseType { get; } public override string FullName { get; } public override System.Guid GUID { get; } public override System.Reflection.Module Module { get; } public override string Name { get; } public override string Namespace { get; } public PackingSize PackingSize { get; } public int Size { get; } // methods public void AddInterfaceImplementation (System.Type interfaceType); public System.Reflection.TypeInfo CreateTypeInfo (); public ConstructorBuilder DefineConstructor (System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type[] parameterTypes); public ConstructorBuilder DefineConstructor (System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type[] parameterTypes, System.Type[][] requiredCustomModifiers, System.Type[][] optionalCustomModifiers); public ConstructorBuilder DefineDefaultConstructor (System.Reflection.MethodAttributes attributes); public EventBuilder DefineEvent (string name, System.Reflection.EventAttributes attributes, System.Type eventtype); public FieldBuilder DefineField (string fieldName, System.Type type, System.Reflection.FieldAttributes attributes); public FieldBuilder DefineField (string fieldName, System.Type type, System.Type[] requiredCustomModifiers, System.Type[] optionalCustomModifiers, System.Reflection.FieldAttributes attributes); public GenericTypeParameterBuilder[] DefineGenericParameters (string[] names); public FieldBuilder DefineInitializedData (string name, byte[] data, System.Reflection.FieldAttributes attributes); public MethodBuilder DefineMethod (string name, System.Reflection.MethodAttributes attributes); public MethodBuilder DefineMethod (string name, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention); public MethodBuilder DefineMethod (string name, System.Reflection.MethodAttributes attributes, System.Type returnType, System.Type[] parameterTypes); public MethodBuilder DefineMethod (string name, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes); public MethodBuilder DefineMethod (string name, 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); public void DefineMethodOverride (System.Reflection.MethodInfo methodInfoBody, System.Reflection.MethodInfo methodInfoDeclaration); public TypeBuilder DefineNestedType (string name); public TypeBuilder DefineNestedType (string name, System.Reflection.TypeAttributes attr); public TypeBuilder DefineNestedType (string name, System.Reflection.TypeAttributes attr, System.Type parent); public TypeBuilder DefineNestedType (string name, System.Reflection.TypeAttributes attr, System.Type parent, int typeSize); public TypeBuilder DefineNestedType (string name, System.Reflection.TypeAttributes attr, System.Type parent, PackingSize packSize); public TypeBuilder DefineNestedType (string name, System.Reflection.TypeAttributes attr, System.Type parent, System.Type[] interfaces); public TypeBuilder DefineNestedType (string name, System.Reflection.TypeAttributes attr, System.Type parent, PackingSize packSize, int typeSize); public PropertyBuilder DefineProperty (string name, System.Reflection.PropertyAttributes attributes, System.Type returnType, System.Type[] parameterTypes); public PropertyBuilder DefineProperty (string name, System.Reflection.PropertyAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes); public PropertyBuilder DefineProperty (string name, System.Reflection.PropertyAttributes attributes, System.Type returnType, System.Type[] returnTypeRequiredCustomModifiers, System.Type[] returnTypeOptionalCustomModifiers, System.Type[] parameterTypes, System.Type[][] parameterTypeRequiredCustomModifiers, System.Type[][] parameterTypeOptionalCustomModifiers); public PropertyBuilder DefineProperty (string name, System.Reflection.PropertyAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] returnTypeRequiredCustomModifiers, System.Type[] returnTypeOptionalCustomModifiers, System.Type[] parameterTypes, System.Type[][] parameterTypeRequiredCustomModifiers, System.Type[][] parameterTypeOptionalCustomModifiers); public ConstructorBuilder DefineTypeInitializer (); public FieldBuilder DefineUninitializedData (string name, int size, System.Reflection.FieldAttributes attributes); public static System.Reflection.ConstructorInfo GetConstructor (System.Type type, System.Reflection.ConstructorInfo constructor); public override System.Type GetElementType (); public static System.Reflection.FieldInfo GetField (System.Type type, System.Reflection.FieldInfo field); public static System.Reflection.MethodInfo GetMethod (System.Type type, System.Reflection.MethodInfo method); public bool IsCreated (); public void SetCustomAttribute (CustomAttributeBuilder customBuilder); public void SetCustomAttribute (System.Reflection.ConstructorInfo con, byte[] binaryAttribute); public void SetParent (System.Type parent); }
Added methods:
public static IntPtr BufferToBSTR (System.Array ptr, int slen); public static void CleanupUnusedObjectsInCurrentContext ();
Added methods:
public static IntPtr GetRuntimeInterfaceAsIntPtr (System.Guid clsid, System.Guid riid); public static object GetRuntimeInterfaceAsObject (System.Guid clsid, System.Guid riid);
Added methods:
public static void AddAlgorithm (System.Type algorithm, string[] names); public static void AddOID (string oid, string[] names);
Added methods:
protected virtual byte[] HashData (System.IO.Stream data, HashAlgorithmName hashAlgorithm); protected virtual byte[] HashData (byte[] data, int offset, int count, HashAlgorithmName hashAlgorithm); public byte[] SignData (byte[] data, HashAlgorithmName hashAlgorithm); public virtual byte[] SignData (System.IO.Stream data, HashAlgorithmName hashAlgorithm); public virtual byte[] SignData (byte[] data, int offset, int count, HashAlgorithmName hashAlgorithm); public bool VerifyData (byte[] data, byte[] signature, HashAlgorithmName hashAlgorithm); public virtual bool VerifyData (System.IO.Stream data, byte[] signature, HashAlgorithmName hashAlgorithm); public virtual bool VerifyData (byte[] data, int offset, int count, byte[] signature, HashAlgorithmName hashAlgorithm);
Added property:
public bool UseSalt { get; set; }
Added constructors:
public RNGCryptoServiceProvider (byte[] rgb); public RNGCryptoServiceProvider (CspParameters cspParams); public RNGCryptoServiceProvider (string str);
Added methods:
public override byte[] Decrypt (byte[] data, RSAEncryptionPadding padding); public override byte[] Encrypt (byte[] data, RSAEncryptionPadding padding); protected override byte[] HashData (System.IO.Stream data, HashAlgorithmName hashAlgorithm); protected override byte[] HashData (byte[] data, int offset, int count, HashAlgorithmName hashAlgorithm); public override byte[] SignHash (byte[] hash, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding); public override bool VerifyHash (byte[] hash, byte[] signature, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding);
Added method:
public byte[] CryptDeriveKey (string algname, string alghashname, int keySize, byte[] rgbIV);
public sealed class IncrementalHash : System.IDisposable { // properties public HashAlgorithmName AlgorithmName { get; } // methods public void AppendData (byte[] data); public void AppendData (byte[] data, int offset, int count); public static IncrementalHash CreateHMAC (HashAlgorithmName hashAlgorithm, byte[] key); public static IncrementalHash CreateHash (HashAlgorithmName hashAlgorithm); public virtual void Dispose (); public byte[] GetHashAndReset (); }
Removed method:
protected override void Dispose (bool explicitDisposing);
Added method:
public System.Security.AccessControl.EventWaitHandleSecurity GetAccessControl ();
<style scoped=""> .obsolete { color: gray; } .added { color: green; } .removed-inline { text-decoration: line-through; } .removed-breaking-inline { color: red;} .added-breaking-inline { text-decoration: underline; } .nonbreaking { color: black; } .breaking { color: red; } </style> <script type="text/javascript">
// Only some elements have 'data-is-[non-]breaking' attributes. Here we
// iterate over all descendents elements, and set 'data-is-[non-]breaking'
// depending on whether there are any descendents with that attribute.
function propagateDataAttribute (element)
{
if (element.hasAttribute ('data-is-propagated'))
return;
var i;
var any_breaking = element.hasAttribute ('data-is-breaking');
var any_non_breaking = element.hasAttribute ('data-is-non-breaking');
for (i = 0; i < element.children.length; i++) {
var el = element.children [i];
propagateDataAttribute (el);
any_breaking |= el.hasAttribute ('data-is-breaking');
any_non_breaking |= el.hasAttribute ('data-is-non-breaking');
}
if (any_breaking)
element.setAttribute ('data-is-breaking', null);
else if (any_non_breaking)
element.setAttribute ('data-is-non-breaking', null);
element.setAttribute ('data-is-propagated', null);
}
function hideNonBreakingChanges ()
{
var topNodes = document.querySelectorAll ('[data-is-topmost]');
var n;
var i;
for (n = 0; n < topNodes.length; n++) {
propagateDataAttribute (topNodes [n]);
var elements = topNodes [n].querySelectorAll ('[data-is-non-breaking]');
for (i = 0; i < elements.length; i++) {
var el = elements [i];
if (!el.hasAttribute ('data-original-display'))
el.setAttribute ('data-original-display', el.style.display);
el.style.display = 'none';
}
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
}
function showNonBreakingChanges ()
{
var elements = document.querySelectorAll ('[data-original-display]');
var i;
for (i = 0; i < elements.length; i++) {
var el = elements [i];
el.style.display = el.getAttribute ('data-original-display');
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
}
</script>
[Hide non-breaking changes](javascript: hideNonBreakingChanges (); ) [Show non-breaking changes](javascript: showNonBreakingChanges (); )
Removed method:
public static ICertificateValidator GetValidator (MonoTlsSettings settings, MonoTlsProvider provider);
Added method:
public static ICertificateValidator GetValidator (MonoTlsSettings settings);
Added property:
public string PeerDomainName { get; set; }
Removed property:
public static bool HasProvider { get; }
Added property:
public static bool IsInitialized { get; }
Obsoleted methods:
[Obsolete ("Use GetProvider() instead.")] public static MonoTlsProvider GetDefaultProvider ();[Obsolete ("Use Initialize(string provider) instead.")] public static void SetDefaultProvider (string name);
Modified methods:
public MonoTlsProvider GetProvider (string name provider)
Added methods:
public static void Initialize (); public static void Initialize (string provider); public static bool IsProviderSupported (string provider);
Removed interfaces:
System.Collections.Generic.ICollection<T> System.Collections.Generic.IEnumerable<T> System.Collections.Generic.IList<T> System.Collections.Generic.IReadOnlyCollection<T> System.Collections.Generic.IReadOnlyList<T> System.Collections.IList
Added property:
[Obsolete ("This API is no longer available")]
public int Capacity { get; set; }
Added methods:
[Obsolete ("This API is no longer available")] public void Add (ProcessModule item);<span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void AddRange (System.Collections.Generic.IEnumerable<ProcessModule> collection);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public System.Collections.ObjectModel.ReadOnlyCollection<ProcessModule> AsReadOnly ();</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int BinarySearch (ProcessModule item);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int BinarySearch (ProcessModule item, System.Collections.Generic.IComparer<ProcessModule> comparer);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int BinarySearch (int index, int count, ProcessModule item, System.Collections.Generic.IComparer<ProcessModule> comparer);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Clear ();</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public System.Collections.Generic.List<TOutput> ConvertAll<TOutput> (System.Converter<ProcessModule,TOutput> converter);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void CopyTo (ProcessModule[] array);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void CopyTo (int index, ProcessModule[] array, int arrayIndex, int count);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public bool Exists (System.Predicate<ProcessModule> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public ProcessModule Find (System.Predicate<ProcessModule> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public System.Collections.Generic.List<ProcessModule> FindAll (System.Predicate<ProcessModule> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int FindIndex (System.Predicate<ProcessModule> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int FindIndex (int startIndex, System.Predicate<ProcessModule> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int FindIndex (int startIndex, int count, System.Predicate<ProcessModule> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public ProcessModule FindLast (System.Predicate<ProcessModule> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int FindLastIndex (System.Predicate<ProcessModule> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int FindLastIndex (int startIndex, System.Predicate<ProcessModule> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int FindLastIndex (int startIndex, int count, System.Predicate<ProcessModule> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void ForEach (System.Action<ProcessModule> action);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public System.Collections.Generic.List<ProcessModule> GetRange (int index, int count);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int IndexOf (ProcessModule item, int index);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int IndexOf (ProcessModule item, int index, int count);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Insert (int index, ProcessModule item);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void InsertRange (int index, System.Collections.Generic.IEnumerable<ProcessModule> collection);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int LastIndexOf (ProcessModule item);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int LastIndexOf (ProcessModule item, int index);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int LastIndexOf (ProcessModule item, int index, int count);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public bool Remove (ProcessModule item);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int RemoveAll (System.Predicate<ProcessModule> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void RemoveAt (int index);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void RemoveRange (int index, int count);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Reverse ();</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Reverse (int index, int count);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Sort ();</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Sort (System.Collections.Generic.IComparer<ProcessModule> comparer);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Sort (System.Comparison<ProcessModule> comparison);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Sort (int index, int count, System.Collections.Generic.IComparer<ProcessModule> comparer);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public ProcessModule[] ToArray ();</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void TrimExcess ();</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public bool TrueForAll (System.Predicate<ProcessModule> match);</span>
Removed interfaces:
System.Collections.Generic.ICollection<T> System.Collections.Generic.IEnumerable<T> System.Collections.Generic.IList<T> System.Collections.Generic.IReadOnlyCollection<T> System.Collections.Generic.IReadOnlyList<T> System.Collections.IList
Added property:
[Obsolete ("This API is no longer available")]
public int Capacity { get; set; }
Added methods:
[Obsolete ("This API is no longer available")] public void AddRange (System.Collections.Generic.IEnumerable<ProcessThread> collection);<span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public System.Collections.ObjectModel.ReadOnlyCollection<ProcessThread> AsReadOnly ();</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int BinarySearch (ProcessThread item);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int BinarySearch (ProcessThread item, System.Collections.Generic.IComparer<ProcessThread> comparer);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int BinarySearch (int index, int count, ProcessThread item, System.Collections.Generic.IComparer<ProcessThread> comparer);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Clear ();</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public System.Collections.Generic.List<TOutput> ConvertAll<TOutput> (System.Converter<ProcessThread,TOutput> converter);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void CopyTo (ProcessThread[] array);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void CopyTo (int index, ProcessThread[] array, int arrayIndex, int count);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public bool Exists (System.Predicate<ProcessThread> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public ProcessThread Find (System.Predicate<ProcessThread> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public System.Collections.Generic.List<ProcessThread> FindAll (System.Predicate<ProcessThread> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int FindIndex (System.Predicate<ProcessThread> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int FindIndex (int startIndex, System.Predicate<ProcessThread> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int FindIndex (int startIndex, int count, System.Predicate<ProcessThread> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public ProcessThread FindLast (System.Predicate<ProcessThread> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int FindLastIndex (System.Predicate<ProcessThread> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int FindLastIndex (int startIndex, System.Predicate<ProcessThread> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int FindLastIndex (int startIndex, int count, System.Predicate<ProcessThread> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void ForEach (System.Action<ProcessThread> action);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public System.Collections.Generic.List<ProcessThread> GetRange (int index, int count);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int IndexOf (ProcessThread item, int index);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int IndexOf (ProcessThread item, int index, int count);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void InsertRange (int index, System.Collections.Generic.IEnumerable<ProcessThread> collection);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int LastIndexOf (ProcessThread item);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int LastIndexOf (ProcessThread item, int index);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int LastIndexOf (ProcessThread item, int index, int count);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public int RemoveAll (System.Predicate<ProcessThread> match);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void RemoveAt (int index);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void RemoveRange (int index, int count);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Reverse ();</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Reverse (int index, int count);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Sort ();</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Sort (System.Collections.Generic.IComparer<ProcessThread> comparer);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Sort (System.Comparison<ProcessThread> comparison);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void Sort (int index, int count, System.Collections.Generic.IComparer<ProcessThread> comparer);</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public ProcessThread[] ToArray ();</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public void TrimExcess ();</span> <span class='added added-method ' data-is-non-breaking="">[Obsolete ("This API is no longer available")] public bool TrueForAll (System.Predicate<ProcessThread> match);</span>
Added interfaces:
System.ComponentModel.IComponent System.ComponentModel.ISupportInitialize
Added properties:
public override System.ComponentModel.ISite Site { get; set; } public System.ComponentModel.ISynchronizeInvoke SynchronizingObject { get; set; }
Modified methods:
protected virtual override void Dispose (bool disposing)
Added methods:
public virtual void BeginInit (); public virtual void EndInit ();
Added properties:
public System.Security.Authentication.ExtendedProtection.ServiceNameCollection DefaultServiceNames { get; } public System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy ExtendedProtectionPolicy { get; set; } public HttpListener.ExtendedProtectionSelector ExtendedProtectionSelectorDelegate { get; set; } public HttpListenerTimeoutManager TimeoutManager { get; }
Added method:
public System.Threading.Tasks.Task<WebSockets.HttpListenerWebSocketContext> AcceptWebSocketAsync (string subProtocol, System.TimeSpan keepAliveInterval);
Added properties:
public System.TimeSpan DrainEntityBody { get; set; } public System.TimeSpan EntityBody { get; set; } public System.TimeSpan HeaderWait { get; set; } public System.TimeSpan IdleConnection { get; set; } public long MinSendBytesPerSecond { get; set; } public System.TimeSpan RequestQueue { get; set; }
Modified properties:
public virtual bool AllowAutoRedirect { get; set; }public virtual bool AllowWriteStreamBuffering { get; set; }
Added method:
public System.IO.Stream GetRequestStream (TransportContext context);
Added properties:
public static Security.EncryptionPolicy EncryptionPolicy { get; } public static bool ReusePort { get; set; }
Modified constructors:
public WebProxy (string address Address)public WebProxy (System.Uri address Address)public WebProxy (string address Address, bool bypassOnLocal BypassOnLocal)public WebProxy (string host Host, int port Port)public WebProxy (System.Uri address Address, bool bypassOnLocal BypassOnLocal)public WebProxy (string address Address, bool bypassOnLocal BypassOnLocal, string[] bypassList BypassList)public WebProxy (System.Uri address Address, bool bypassOnLocal BypassOnLocal, string[] bypassList BypassList)public WebProxy (string address Address, bool bypassOnLocal BypassOnLocal, string[] bypassList BypassList, ICredentials credentials Credentials)public WebProxy (System.Uri address Address, bool bypassOnLocal BypassOnLocal, string[] bypassList BypassList, ICredentials credentials Credentials)
Added method:
public static IWebProxy CreateDefaultProxy ();
Added property:
[Obsolete ("This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.")]
public virtual IWebRequestCreate CreatorInstance { get; }
Added method:
[Obsolete ("This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.")]
public static void RegisterPortableWebRequestCreator (IWebRequestCreate creator);
Added property:
public System.Net.Mime.TransferEncoding BodyTransferEncoding { get; set; }
Added methods:
public virtual void AuthenticateAsClient (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName); public virtual void AuthenticateAsClient (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName, ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel); public virtual void AuthenticateAsServer (System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy policy); public virtual void AuthenticateAsServer (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy policy, ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel requiredImpersonationLevel); public virtual System.IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName, System.AsyncCallback asyncCallback, object asyncState); public virtual System.IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName, ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel, System.AsyncCallback asyncCallback, object asyncState); public virtual System.IAsyncResult BeginAuthenticateAsServer (System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy policy, System.AsyncCallback asyncCallback, object asyncState); public virtual System.IAsyncResult BeginAuthenticateAsServer (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy policy, ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel requiredImpersonationLevel, System.AsyncCallback asyncCallback, object asyncState);
Added constructor:
public Socket (SocketInformation socketInformation);
Added methods:
public SocketInformation DuplicateAndClose (int targetProcessId); public void SetIPProtectionLevel (IPProtectionLevel level);
Added property:
public TransmitFileOptions SendPacketsFlags { get; set; }
Added methods:
public void AllowNatTraversal (bool allowed); public static TcpListener Create (int port);
Added method:
public void AllowNatTraversal (bool allowed);
public struct SocketReceiveFromResult { // fields public int ReceivedBytes; public System.Net.EndPoint RemoteEndPoint; }
public struct SocketReceiveMessageFromResult { // fields public IPPacketInformation PacketInformation; public int ReceivedBytes; public System.Net.EndPoint RemoteEndPoint; public SocketFlags SocketFlags; }
public static class SocketTaskExtensions { // methods public static System.Threading.Tasks.Task<Socket> AcceptAsync (Socket socket); public static System.Threading.Tasks.Task<Socket> AcceptAsync (Socket socket, Socket acceptSocket); public static System.Threading.Tasks.Task ConnectAsync (Socket socket, System.Net.EndPoint remoteEP); public static System.Threading.Tasks.Task ConnectAsync (Socket socket, System.Net.IPAddress address, int port); public static System.Threading.Tasks.Task ConnectAsync (Socket socket, System.Net.IPAddress[] addresses, int port); public static System.Threading.Tasks.Task ConnectAsync (Socket socket, string host, int port); public static System.Threading.Tasks.Task<int> ReceiveAsync (Socket socket, System.ArraySegment<byte> buffer, SocketFlags socketFlags); public static System.Threading.Tasks.Task<int> ReceiveAsync (Socket socket, System.Collections.Generic.IList<System.ArraySegment<byte>> buffers, SocketFlags socketFlags); public static System.Threading.Tasks.Task<SocketReceiveFromResult> ReceiveFromAsync (Socket socket, System.ArraySegment<byte> buffer, SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint); public static System.Threading.Tasks.Task<SocketReceiveMessageFromResult> ReceiveMessageFromAsync (Socket socket, System.ArraySegment<byte> buffer, SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint); public static System.Threading.Tasks.Task<int> SendAsync (Socket socket, System.ArraySegment<byte> buffer, SocketFlags socketFlags); public static System.Threading.Tasks.Task<int> SendAsync (Socket socket, System.Collections.Generic.IList<System.ArraySegment<byte>> buffers, SocketFlags socketFlags); public static System.Threading.Tasks.Task<int> SendToAsync (Socket socket, System.ArraySegment<byte> buffer, SocketFlags socketFlags, System.Net.EndPoint remoteEP); }
public sealed class ValueSerializerAttribute : System.Attribute { // constructors public ValueSerializerAttribute (string valueSerializerTypeName); public ValueSerializerAttribute (System.Type valueSerializerType); // properties public System.Type ValueSerializerType { get; } public string ValueSerializerTypeName { get; } }
<style scoped=""> .obsolete { color: gray; } .added { color: green; } .removed-inline { text-decoration: line-through; } .removed-breaking-inline { color: red;} .added-breaking-inline { text-decoration: underline; } .nonbreaking { color: black; } .breaking { color: red; } </style> <script type="text/javascript">
// Only some elements have 'data-is-[non-]breaking' attributes. Here we
// iterate over all descendents elements, and set 'data-is-[non-]breaking'
// depending on whether there are any descendents with that attribute.
function propagateDataAttribute (element)
{
if (element.hasAttribute ('data-is-propagated'))
return;
var i;
var any_breaking = element.hasAttribute ('data-is-breaking');
var any_non_breaking = element.hasAttribute ('data-is-non-breaking');
for (i = 0; i < element.children.length; i++) {
var el = element.children [i];
propagateDataAttribute (el);
any_breaking |= el.hasAttribute ('data-is-breaking');
any_non_breaking |= el.hasAttribute ('data-is-non-breaking');
}
if (any_breaking)
element.setAttribute ('data-is-breaking', null);
else if (any_non_breaking)
element.setAttribute ('data-is-non-breaking', null);
element.setAttribute ('data-is-propagated', null);
}
function hideNonBreakingChanges ()
{
var topNodes = document.querySelectorAll ('[data-is-topmost]');
var n;
var i;
for (n = 0; n < topNodes.length; n++) {
propagateDataAttribute (topNodes [n]);
var elements = topNodes [n].querySelectorAll ('[data-is-non-breaking]');
for (i = 0; i < elements.length; i++) {
var el = elements [i];
if (!el.hasAttribute ('data-original-display'))
el.setAttribute ('data-original-display', el.style.display);
el.style.display = 'none';
}
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
}
function showNonBreakingChanges ()
{
var elements = document.querySelectorAll ('[data-original-display]');
var i;
for (i = 0; i < elements.length; i++) {
var el = elements [i];
el.style.display = el.getAttribute ('data-original-display');
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
}
</script>
[Hide non-breaking changes](javascript: hideNonBreakingChanges (); ) [Show non-breaking changes](javascript: showNonBreakingChanges (); )
Added constructor:
public AnonymousPipeServerStream (PipeDirection direction, System.IO.HandleInheritability inheritability, int bufferSize, PipeSecurity pipeSecurity);
Added constructor:
public NamedPipeClientStream (string serverName, string pipeName, PipeAccessRights desiredAccessRights, PipeOptions options, System.Security.Principal.TokenImpersonationLevel impersonationLevel, System.IO.HandleInheritability inheritability);
Added method:
protected override void CheckPipePropertyOperations ();
Added constructors:
public NamedPipeServerStream (string pipeName, PipeDirection direction, int maxNumberOfServerInstances, PipeTransmissionMode transmissionMode, PipeOptions options, int inBufferSize, int outBufferSize, PipeSecurity pipeSecurity); public NamedPipeServerStream (string pipeName, PipeDirection direction, int maxNumberOfServerInstances, PipeTransmissionMode transmissionMode, PipeOptions options, int inBufferSize, int outBufferSize, PipeSecurity pipeSecurity, System.IO.HandleInheritability inheritability); public NamedPipeServerStream (string pipeName, PipeDirection direction, int maxNumberOfServerInstances, PipeTransmissionMode transmissionMode, PipeOptions options, int inBufferSize, int outBufferSize, PipeSecurity pipeSecurity, System.IO.HandleInheritability inheritability, PipeAccessRights additionalAccessRights);
Added methods:
public System.IAsyncResult BeginWaitForConnection (System.AsyncCallback callback, object state); public void EndWaitForConnection (System.IAsyncResult asyncResult); public void RunAsClient (PipeStreamImpersonationWorker impersonationWorker);
Added property:
protected bool IsHandleExposed { get; }
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); protected virtual void CheckPipePropertyOperations (); protected void CheckReadOperations (); protected void CheckWriteOperations (); public override int EndRead (System.IAsyncResult asyncResult); public override void EndWrite (System.IAsyncResult asyncResult); public PipeSecurity GetAccessControl (); protected void InitializeHandle (Microsoft.Win32.SafeHandles.SafePipeHandle handle, bool isExposed, bool isAsync); public void SetAccessControl (PipeSecurity pipeSecurity);
Modified methods:
public abstract virtual string ToXmlString ()
public class ComAwareEventInfo : System.Reflection.EventInfo, System.Reflection.ICustomAttributeProvider, _MemberInfo { // constructors public ComAwareEventInfo (System.Type type, string eventName); // properties public override System.Reflection.EventAttributes Attributes { get; } public override System.Type DeclaringType { get; } public override string Name { get; } public override System.Type ReflectedType { get; } // methods public override void AddEventHandler (object target, System.Delegate handler); public override System.Reflection.MethodInfo GetAddMethod (bool nonPublic); public override object[] GetCustomAttributes (bool inherit); public override object[] GetCustomAttributes (System.Type attributeType, bool inherit); public override System.Reflection.MethodInfo GetRaiseMethod (bool nonPublic); public override System.Reflection.MethodInfo GetRemoveMethod (bool nonPublic); public override bool IsDefined (System.Type attributeType, bool inherit); public override void RemoveEventHandler (object target, System.Delegate handler); }
<style scoped=""> .obsolete { color: gray; } .added { color: green; } .removed-inline { text-decoration: line-through; } .removed-breaking-inline { color: red;} .added-breaking-inline { text-decoration: underline; } .nonbreaking { color: black; } .breaking { color: red; } </style> <script type="text/javascript">
// Only some elements have 'data-is-[non-]breaking' attributes. Here we
// iterate over all descendents elements, and set 'data-is-[non-]breaking'
// depending on whether there are any descendents with that attribute.
function propagateDataAttribute (element)
{
if (element.hasAttribute ('data-is-propagated'))
return;
var i;
var any_breaking = element.hasAttribute ('data-is-breaking');
var any_non_breaking = element.hasAttribute ('data-is-non-breaking');
for (i = 0; i < element.children.length; i++) {
var el = element.children [i];
propagateDataAttribute (el);
any_breaking |= el.hasAttribute ('data-is-breaking');
any_non_breaking |= el.hasAttribute ('data-is-non-breaking');
}
if (any_breaking)
element.setAttribute ('data-is-breaking', null);
else if (any_non_breaking)
element.setAttribute ('data-is-non-breaking', null);
element.setAttribute ('data-is-propagated', null);
}
function hideNonBreakingChanges ()
{
var topNodes = document.querySelectorAll ('[data-is-topmost]');
var n;
var i;
for (n = 0; n < topNodes.length; n++) {
propagateDataAttribute (topNodes [n]);
var elements = topNodes [n].querySelectorAll ('[data-is-non-breaking]');
for (i = 0; i < elements.length; i++) {
var el = elements [i];
if (!el.hasAttribute ('data-original-display'))
el.setAttribute ('data-original-display', el.style.display);
el.style.display = 'none';
}
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
}
function showNonBreakingChanges ()
{
var elements = document.querySelectorAll ('[data-original-display]');
var i;
for (i = 0; i < elements.length; i++) {
var el = elements [i];
el.style.display = el.getAttribute ('data-original-display');
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
}
</script>
[Hide non-breaking changes](javascript: hideNonBreakingChanges (); ) [Show non-breaking changes](javascript: showNonBreakingChanges (); )
Added property:
public PoolBlockingPeriod PoolBlockingPeriod { get; set; }
<style scoped=""> .obsolete { color: gray; } .added { color: green; } .removed-inline { text-decoration: line-through; } .removed-breaking-inline { color: red;} .added-breaking-inline { text-decoration: underline; } .nonbreaking { color: black; } .breaking { color: red; } </style> <script type="text/javascript">
// Only some elements have 'data-is-[non-]breaking' attributes. Here we
// iterate over all descendents elements, and set 'data-is-[non-]breaking'
// depending on whether there are any descendents with that attribute.
function propagateDataAttribute (element)
{
if (element.hasAttribute ('data-is-propagated'))
return;
var i;
var any_breaking = element.hasAttribute ('data-is-breaking');
var any_non_breaking = element.hasAttribute ('data-is-non-breaking');
for (i = 0; i < element.children.length; i++) {
var el = element.children [i];
propagateDataAttribute (el);
any_breaking |= el.hasAttribute ('data-is-breaking');
any_non_breaking |= el.hasAttribute ('data-is-non-breaking');
}
if (any_breaking)
element.setAttribute ('data-is-breaking', null);
else if (any_non_breaking)
element.setAttribute ('data-is-non-breaking', null);
element.setAttribute ('data-is-propagated', null);
}
function hideNonBreakingChanges ()
{
var topNodes = document.querySelectorAll ('[data-is-topmost]');
var n;
var i;
for (n = 0; n < topNodes.length; n++) {
propagateDataAttribute (topNodes [n]);
var elements = topNodes [n].querySelectorAll ('[data-is-non-breaking]');
for (i = 0; i < elements.length; i++) {
var el = elements [i];
if (!el.hasAttribute ('data-original-display'))
el.setAttribute ('data-original-display', el.style.display);
el.style.display = 'none';
}
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
}
function showNonBreakingChanges ()
{
var elements = document.querySelectorAll ('[data-original-display]');
var i;
for (i = 0; i < elements.length; i++) {
var el = elements [i];
el.style.display = el.getAttribute ('data-original-display');
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
}
</script>
[Hide non-breaking changes](javascript: hideNonBreakingChanges (); ) [Show non-breaking changes](javascript: showNonBreakingChanges (); )
Added method:
public static void AddDefaultSchema (System.Xml.Schema.XmlSchemaSet schemas, System.Xml.XmlQualifiedName typeQName);
public class XsdDataContractExporter { // constructors public XsdDataContractExporter (); public XsdDataContractExporter (System.Xml.Schema.XmlSchemaSet schemas); // properties public ExportOptions Options { get; set; } public System.Xml.Schema.XmlSchemaSet Schemas { get; } // methods public bool CanExport (System.Collections.Generic.ICollection<System.Reflection.Assembly> assemblies); public bool CanExport (System.Collections.Generic.ICollection<System.Type> types); public bool CanExport (System.Type type); public void Export (System.Collections.Generic.ICollection<System.Reflection.Assembly> assemblies); public void Export (System.Collections.Generic.ICollection<System.Type> types); public void Export (System.Type type); public System.Xml.XmlQualifiedName GetRootElementName (System.Type type); public System.Xml.Schema.XmlSchemaType GetSchemaType (System.Type type); public System.Xml.XmlQualifiedName GetSchemaTypeName (System.Type type); }
<style scoped=""> .obsolete { color: gray; } .added { color: green; } .removed-inline { text-decoration: line-through; } .removed-breaking-inline { color: red;} .added-breaking-inline { text-decoration: underline; } .nonbreaking { color: black; } .breaking { color: red; } </style> <script type="text/javascript">
// Only some elements have 'data-is-[non-]breaking' attributes. Here we
// iterate over all descendents elements, and set 'data-is-[non-]breaking'
// depending on whether there are any descendents with that attribute.
function propagateDataAttribute (element)
{
if (element.hasAttribute ('data-is-propagated'))
return;
var i;
var any_breaking = element.hasAttribute ('data-is-breaking');
var any_non_breaking = element.hasAttribute ('data-is-non-breaking');
for (i = 0; i < element.children.length; i++) {
var el = element.children [i];
propagateDataAttribute (el);
any_breaking |= el.hasAttribute ('data-is-breaking');
any_non_breaking |= el.hasAttribute ('data-is-non-breaking');
}
if (any_breaking)
element.setAttribute ('data-is-breaking', null);
else if (any_non_breaking)
element.setAttribute ('data-is-non-breaking', null);
element.setAttribute ('data-is-propagated', null);
}
function hideNonBreakingChanges ()
{
var topNodes = document.querySelectorAll ('[data-is-topmost]');
var n;
var i;
for (n = 0; n < topNodes.length; n++) {
propagateDataAttribute (topNodes [n]);
var elements = topNodes [n].querySelectorAll ('[data-is-non-breaking]');
for (i = 0; i < elements.length; i++) {
var el = elements [i];
if (!el.hasAttribute ('data-original-display'))
el.setAttribute ('data-original-display', el.style.display);
el.style.display = 'none';
}
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
}
function showNonBreakingChanges ()
{
var elements = document.querySelectorAll ('[data-original-display]');
var i;
for (i = 0; i < elements.length; i++) {
var el = elements [i];
el.style.display = el.getAttribute ('data-original-display');
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
}
</script>
[Hide non-breaking changes](javascript: hideNonBreakingChanges (); ) [Show non-breaking changes](javascript: showNonBreakingChanges (); )
Added method:
protected IXmlSerializable ReadSerializable (IXmlSerializable serializable, bool wrappedAny);
Added constructor:
public XmlSerializer (System.Type type, XmlAttributeOverrides overrides, System.Type[] extraTypes, XmlRootAttribute root, string defaultNamespace, string location);
Added methods:
public void Load (System.Type compiledStylesheet); public void Load (System.Reflection.MethodInfo executeMethod, byte[] queryData, System.Type[] earlyBoundTypes); public void Transform (System.Xml.XPath.IXPathNavigable input, XsltArgumentList arguments, System.Xml.XmlWriter results, System.Xml.XmlResolver documentResolver);
<style scoped=""> .obsolete { color: gray; } .added { color: green; } .removed-inline { text-decoration: line-through; } .removed-breaking-inline { color: red;} .added-breaking-inline { text-decoration: underline; } .nonbreaking { color: black; } .breaking { color: red; } </style> <script type="text/javascript">
// Only some elements have 'data-is-[non-]breaking' attributes. Here we
// iterate over all descendents elements, and set 'data-is-[non-]breaking'
// depending on whether there are any descendents with that attribute.
function propagateDataAttribute (element)
{
if (element.hasAttribute ('data-is-propagated'))
return;
var i;
var any_breaking = element.hasAttribute ('data-is-breaking');
var any_non_breaking = element.hasAttribute ('data-is-non-breaking');
for (i = 0; i < element.children.length; i++) {
var el = element.children [i];
propagateDataAttribute (el);
any_breaking |= el.hasAttribute ('data-is-breaking');
any_non_breaking |= el.hasAttribute ('data-is-non-breaking');
}
if (any_breaking)
element.setAttribute ('data-is-breaking', null);
else if (any_non_breaking)
element.setAttribute ('data-is-non-breaking', null);
element.setAttribute ('data-is-propagated', null);
}
function hideNonBreakingChanges ()
{
var topNodes = document.querySelectorAll ('[data-is-topmost]');
var n;
var i;
for (n = 0; n < topNodes.length; n++) {
propagateDataAttribute (topNodes [n]);
var elements = topNodes [n].querySelectorAll ('[data-is-non-breaking]');
for (i = 0; i < elements.length; i++) {
var el = elements [i];
if (!el.hasAttribute ('data-original-display'))
el.setAttribute ('data-original-display', el.style.display);
el.style.display = 'none';
}
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
}
function showNonBreakingChanges ()
{
var elements = document.querySelectorAll ('[data-original-display]');
var i;
for (i = 0; i < elements.length; i++) {
var el = elements [i];
el.style.display = el.getAttribute ('data-original-display');
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
}
</script>
[Hide non-breaking changes](javascript: hideNonBreakingChanges (); ) [Show non-breaking changes](javascript: showNonBreakingChanges (); )
Added property:
public System.Guid PromoterType { get; }
Added methods:
public bool EnlistPromotableSinglePhase (IPromotableSinglePhaseNotification promotableSinglePhaseNotification, System.Guid promoterType); public byte[] GetPromotedToken (); public Enlistment PromoteAndEnlistDurable (System.Guid manager, IPromotableSinglePhaseNotification promotableNotification, ISinglePhaseNotification notification, EnlistmentOptions options); public void SetDistributedTransactionIdentifier (IPromotableSinglePhaseNotification promotableNotification, System.Guid distributedTransactionIdentifier);
Modified methods:
public virtual System.IAsyncResult BeginInvoke (object o sender, TransactionEventArgs e, System.AsyncCallback callback, object object)public virtual void Invoke (object o sender, TransactionEventArgs e)
Modified constructors:
protected public TransactionException ()
Modified constructors:
protected public TransactionInDoubtException ()
Added field:
public static System.Guid PromoterTypeDtc;
Modified constructors:
protected public TransactionManagerCommunicationException ()
Modified constructors:
protected public TransactionPromotionException ()
Added constructors:
public TransactionScope (Transaction transactionToUse, TransactionScopeAsyncFlowOption asyncFlowOption); public TransactionScope (Transaction transactionToUse, System.TimeSpan scopeTimeout, TransactionScopeAsyncFlowOption asyncFlowOption); public TransactionScope (TransactionScopeOption scopeOption, TransactionOptions transactionOptions, TransactionScopeAsyncFlowOption asyncFlowOption);
<style scoped=""> .obsolete { color: gray; } .added { color: green; } .removed-inline { text-decoration: line-through; } .removed-breaking-inline { color: red;} .added-breaking-inline { text-decoration: underline; } .nonbreaking { color: black; } .breaking { color: red; } </style> <script type="text/javascript">
// Only some elements have 'data-is-[non-]breaking' attributes. Here we
// iterate over all descendents elements, and set 'data-is-[non-]breaking'
// depending on whether there are any descendents with that attribute.
function propagateDataAttribute (element)
{
if (element.hasAttribute ('data-is-propagated'))
return;
var i;
var any_breaking = element.hasAttribute ('data-is-breaking');
var any_non_breaking = element.hasAttribute ('data-is-non-breaking');
for (i = 0; i < element.children.length; i++) {
var el = element.children [i];
propagateDataAttribute (el);
any_breaking |= el.hasAttribute ('data-is-breaking');
any_non_breaking |= el.hasAttribute ('data-is-non-breaking');
}
if (any_breaking)
element.setAttribute ('data-is-breaking', null);
else if (any_non_breaking)
element.setAttribute ('data-is-non-breaking', null);
element.setAttribute ('data-is-propagated', null);
}
function hideNonBreakingChanges ()
{
var topNodes = document.querySelectorAll ('[data-is-topmost]');
var n;
var i;
for (n = 0; n < topNodes.length; n++) {
propagateDataAttribute (topNodes [n]);
var elements = topNodes [n].querySelectorAll ('[data-is-non-breaking]');
for (i = 0; i < elements.length; i++) {
var el = elements [i];
if (!el.hasAttribute ('data-original-display'))
el.setAttribute ('data-original-display', el.style.display);
el.style.display = 'none';
}
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
}
function showNonBreakingChanges ()
{
var elements = document.querySelectorAll ('[data-original-display]');
var i;
for (i = 0; i < elements.length; i++) {
var el = elements [i];
el.style.display = el.getAttribute ('data-original-display');
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
}
</script>
[Hide non-breaking changes](javascript: hideNonBreakingChanges (); ) [Show non-breaking changes](javascript: showNonBreakingChanges (); )
<style scoped=""> .obsolete { color: gray; } .added { color: green; } .removed-inline { text-decoration: line-through; } .removed-breaking-inline { color: red;} .added-breaking-inline { text-decoration: underline; } .nonbreaking { color: black; } .breaking { color: red; } </style> <script type="text/javascript">
// Only some elements have 'data-is-[non-]breaking' attributes. Here we
// iterate over all descendents elements, and set 'data-is-[non-]breaking'
// depending on whether there are any descendents with that attribute.
function propagateDataAttribute (element)
{
if (element.hasAttribute ('data-is-propagated'))
return;
var i;
var any_breaking = element.hasAttribute ('data-is-breaking');
var any_non_breaking = element.hasAttribute ('data-is-non-breaking');
for (i = 0; i < element.children.length; i++) {
var el = element.children [i];
propagateDataAttribute (el);
any_breaking |= el.hasAttribute ('data-is-breaking');
any_non_breaking |= el.hasAttribute ('data-is-non-breaking');
}
if (any_breaking)
element.setAttribute ('data-is-breaking', null);
else if (any_non_breaking)
element.setAttribute ('data-is-non-breaking', null);
element.setAttribute ('data-is-propagated', null);
}
function hideNonBreakingChanges ()
{
var topNodes = document.querySelectorAll ('[data-is-topmost]');
var n;
var i;
for (n = 0; n < topNodes.length; n++) {
propagateDataAttribute (topNodes [n]);
var elements = topNodes [n].querySelectorAll ('[data-is-non-breaking]');
for (i = 0; i < elements.length; i++) {
var el = elements [i];
if (!el.hasAttribute ('data-original-display'))
el.setAttribute ('data-original-display', el.style.display);
el.style.display = 'none';
}
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
}
function showNonBreakingChanges ()
{
var elements = document.querySelectorAll ('[data-original-display]');
var i;
for (i = 0; i < elements.length; i++) {
var el = elements [i];
el.style.display = el.getAttribute ('data-original-display');
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
}
</script>
[Hide non-breaking changes](javascript: hideNonBreakingChanges (); ) [Show non-breaking changes](javascript: showNonBreakingChanges (); )
<style scoped=""> .obsolete { color: gray; } .added { color: green; } .removed-inline { text-decoration: line-through; } .removed-breaking-inline { color: red;} .added-breaking-inline { text-decoration: underline; } .nonbreaking { color: black; } .breaking { color: red; } </style> <script type="text/javascript">
// Only some elements have 'data-is-[non-]breaking' attributes. Here we
// iterate over all descendents elements, and set 'data-is-[non-]breaking'
// depending on whether there are any descendents with that attribute.
function propagateDataAttribute (element)
{
if (element.hasAttribute ('data-is-propagated'))
return;
var i;
var any_breaking = element.hasAttribute ('data-is-breaking');
var any_non_breaking = element.hasAttribute ('data-is-non-breaking');
for (i = 0; i < element.children.length; i++) {
var el = element.children [i];
propagateDataAttribute (el);
any_breaking |= el.hasAttribute ('data-is-breaking');
any_non_breaking |= el.hasAttribute ('data-is-non-breaking');
}
if (any_breaking)
element.setAttribute ('data-is-breaking', null);
else if (any_non_breaking)
element.setAttribute ('data-is-non-breaking', null);
element.setAttribute ('data-is-propagated', null);
}
function hideNonBreakingChanges ()
{
var topNodes = document.querySelectorAll ('[data-is-topmost]');
var n;
var i;
for (n = 0; n < topNodes.length; n++) {
propagateDataAttribute (topNodes [n]);
var elements = topNodes [n].querySelectorAll ('[data-is-non-breaking]');
for (i = 0; i < elements.length; i++) {
var el = elements [i];
if (!el.hasAttribute ('data-original-display'))
el.setAttribute ('data-original-display', el.style.display);
el.style.display = 'none';
}
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
}
function showNonBreakingChanges ()
{
var elements = document.querySelectorAll ('[data-original-display]');
var i;
for (i = 0; i < elements.length; i++) {
var el = elements [i];
el.style.display = el.getAttribute ('data-original-display');
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
}
</script>
[Hide non-breaking changes](javascript: hideNonBreakingChanges (); ) [Show non-breaking changes](javascript: showNonBreakingChanges (); )
<style scoped=""> .obsolete { color: gray; } .added { color: green; } .removed-inline { text-decoration: line-through; } .removed-breaking-inline { color: red;} .added-breaking-inline { text-decoration: underline; } .nonbreaking { color: black; } .breaking { color: red; } </style> <script type="text/javascript">
// Only some elements have 'data-is-[non-]breaking' attributes. Here we
// iterate over all descendents elements, and set 'data-is-[non-]breaking'
// depending on whether there are any descendents with that attribute.
function propagateDataAttribute (element)
{
if (element.hasAttribute ('data-is-propagated'))
return;
var i;
var any_breaking = element.hasAttribute ('data-is-breaking');
var any_non_breaking = element.hasAttribute ('data-is-non-breaking');
for (i = 0; i < element.children.length; i++) {
var el = element.children [i];
propagateDataAttribute (el);
any_breaking |= el.hasAttribute ('data-is-breaking');
any_non_breaking |= el.hasAttribute ('data-is-non-breaking');
}
if (any_breaking)
element.setAttribute ('data-is-breaking', null);
else if (any_non_breaking)
element.setAttribute ('data-is-non-breaking', null);
element.setAttribute ('data-is-propagated', null);
}
function hideNonBreakingChanges ()
{
var topNodes = document.querySelectorAll ('[data-is-topmost]');
var n;
var i;
for (n = 0; n < topNodes.length; n++) {
propagateDataAttribute (topNodes [n]);
var elements = topNodes [n].querySelectorAll ('[data-is-non-breaking]');
for (i = 0; i < elements.length; i++) {
var el = elements [i];
if (!el.hasAttribute ('data-original-display'))
el.setAttribute ('data-original-display', el.style.display);
el.style.display = 'none';
}
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
}
function showNonBreakingChanges ()
{
var elements = document.querySelectorAll ('[data-original-display]');
var i;
for (i = 0; i < elements.length; i++) {
var el = elements [i];
el.style.display = el.getAttribute ('data-original-display');
}
var links = document.getElementsByClassName ('hide-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = '';
links = document.getElementsByClassName ('restore-nonbreaking');
for (i = 0; i < links.length; i++)
links [i].style.display = 'none';
}
</script>
[Hide non-breaking changes](javascript: hideNonBreakingChanges (); ) [Show non-breaking changes](javascript: showNonBreakingChanges (); )
Modified properties:
public AVMediaSelection MediaSelection { get; set; }public Foundation.NSNumber MinimumRequiredMediaBitrate { get; set; }
Added constructor:
public AVAssetExportSession (AVAsset asset, AVAssetExportSessionPreset preset);
Obsoleted methods:
[Obsolete ("Use GetDefaultDevice(AVMediaTypes)")] public static AVCaptureDevice DefaultDeviceWithMediaType (string mediaType);
Added methods:
public static AVCaptureDevice GetDefaultDevice (AVMediaTypes mediaType); public static AVCaptureDevice GetDefaultDevice (Foundation.NSString mediaType); public bool HasMediaType (AVMediaTypes mediaType);
[Serializable] public enum AVAssetExportSessionPreset { AppleM4A = 8, HighestQuality = 2, LowQuality = 0, MediumQuality = 1, Passthrough = 9, Preset1280x720 = 5, Preset1920x1080 = 6, Preset3840x2160 = 7, Preset640x480 = 3, Preset960x540 = 4, }
public static class AVAssetExportSessionPresetExtensions { // methods public static Foundation.NSString GetConstant (AVAssetExportSessionPreset self); public static AVAssetExportSessionPreset GetValue (Foundation.NSString constant); }
[Serializable] public enum AVMediaTypes { Audio = 1, ClosedCaption = 3, Metadata = 9, MetadataObject = 8, Muxed = 7, Subtitle = 4, Text = 2, Timecode = 5, TimedMetadata = 6, Video = 0, }
Added property:
public static Foundation.NSString AnimationDiscrete { get; }
Added methods:
public void AcceptConnectionInBackground (NSRunLoopMode[] notifyRunLoopModes); public void ReadInBackground (NSRunLoopMode[] notifyRunLoopModes); public void ReadToEndOfFileInBackground (NSRunLoopMode[] notifyRunLoopModes); public void WaitForDataInBackground (NSRunLoopMode[] notifyRunLoopModes);
Added properties:
public NSString ContentType { get; } public NSString[] ContentTypeTree { get; } public NSString UbiquitousItemContainerDisplayName { get; } public bool UbiquitousItemDownloadRequested { get; } public bool UbiquitousItemIsExternalDocument { get; } public NSUrl UbiquitousItemUrlInLocalContainer { get; }
Added methods:
public void Schedule (NSRunLoop aRunLoop, NSRunLoopMode forMode); public void Unschedule (NSRunLoop aRunLoop, NSRunLoopMode forMode);
Added methods:
public void Schedule (NSRunLoop aRunLoop, NSRunLoopMode forMode); public void Unschedule (NSRunLoop aRunLoop, NSRunLoopMode forMode);
Added methods:
public void RemoveFromRunLoop (NSRunLoop runLoop, NSRunLoopMode runLoopMode); public void ScheduleInRunLoop (NSRunLoop runLoop, NSRunLoopMode runLoopMode);
Modified methods:
public bool RunUntil (NSRunLoopMode mode runLoopMode, NSDate limitDate)
Added method:
public void Perform (NSRunLoopMode[] modes, System.Action block);
Added methods:
protected virtual NSObject GetProperty (NSString key); public void Schedule (NSRunLoop aRunLoop, NSRunLoopMode mode); protected virtual bool SetProperty (NSObject property, NSString key); public void Unschedule (NSRunLoop aRunLoop, NSRunLoopMode mode);
Added methods:
public void Schedule (NSRunLoop aRunLoop, NSRunLoopMode forMode); public void Unschedule (NSRunLoop aRunLoop, NSRunLoopMode forMode);
public static class NSItemDownloadingStatusExtensions { // methods public static NSString GetConstant (NSItemDownloadingStatus self); public static NSItemDownloadingStatus GetValue (NSString constant); }
Added methods:
public virtual System.Threading.Tasks.Task<Foundation.NSData> NearbyConnectionDataForPeerAsync (MCPeerID peerID); public virtual System.Threading.Tasks.Task SendResourceAsync (Foundation.NSUrl resourceUrl, string resourceName, MCPeerID peerID); public virtual System.Threading.Tasks.Task SendResourceAsync (Foundation.NSUrl resourceUrl, string resourceName, MCPeerID peerID, Foundation.NSProgress result);
Modified fields:
public const string Version = "10.3.1" "10.4.0";
Added constructor:
public LinkWithAttribute ();
Added property:
public DlsymOption Dlsym { get; set; }
Added constructors:
public SecRecord (SecCertificate certificate); public SecRecord (SecIdentity identity); public SecRecord (SecKey key);
Added property:
public LocalAuthentication.LAContext AuthenticationContext { get; set; }
Added methods:
public SecCertificate GetCertificate (); public SecIdentity GetIdentity (); public SecKey GetKey (); public void SetCertificate (SecCertificate cert); public void SetIdentity (SecIdentity identity); public void SetKey (SecKey key);
Added methods:
public virtual bool ShouldInteractWithTextAttachment (UIKit.UITextView textView, UIKit.NSTextAttachment textAttachment, Foundation.NSRange characterRange, UIKit.UITextItemInteraction interaction); public virtual bool ShouldInteractWithUrl (UIKit.UITextView textView, Foundation.NSUrl url, Foundation.NSRange characterRange, UIKit.UITextItemInteraction interaction);
Added methods:
public static UIFont GetPreferredFontForTextStyle (UIFontTextStyle uiFontTextStyle); public static UIFont GetPreferredFontForTextStyle (UIFontTextStyle uiFontTextStyle, UITraitCollection traitCollection);
Added methods:
public static UIFontDescriptor GetPreferredDescriptorForTextStyle (UIFontTextStyle uiFontTextStyle); public static UIFontDescriptor GetPreferredDescriptorForTextStyle (UIFontTextStyle uiFontTextStyle, UITraitCollection traitCollection);
Added event:
public event System.EventHandler<UITextFieldEditingEndedEventArgs> EndedWithReason;
Added method:
public virtual void EditingEnded (UITextField textField, UITextFieldDidEndEditingReason reason);
Added method:
public static void EditingEnded (IUITextFieldDelegate This, UITextField textField, UITextFieldDidEndEditingReason reason);
Added properties:
public UITextViewDelegateShouldInteractTextDelegate AllowTextAttachmentInteraction { get; set; } public UITextViewDelegateShouldInteractUrlDelegate AllowUrlInteraction { get; set; }
Added methods:
public virtual bool ShouldInteractWithTextAttachment (UITextView textView, NSTextAttachment textAttachment, Foundation.NSRange characterRange, UITextItemInteraction interaction); public virtual bool ShouldInteractWithUrl (UITextView textView, Foundation.NSUrl url, Foundation.NSRange characterRange, UITextItemInteraction interaction);
Added methods:
public static bool ShouldInteractWithTextAttachment (IUITextViewDelegate This, UITextView textView, NSTextAttachment textAttachment, Foundation.NSRange characterRange, UITextItemInteraction interaction); public static bool ShouldInteractWithUrl (IUITextViewDelegate This, UITextView textView, Foundation.NSUrl url, Foundation.NSRange characterRange, UITextItemInteraction interaction);
[Serializable] public enum UIFontTextStyle { Body = 1, Callout = 9, Caption1 = 4, Caption2 = 5, Footnote = 3, Headline = 0, Subheadline = 2, Title1 = 6, Title2 = 7, Title3 = 8, }
public static class UIFontTextStyleExtensions { // methods public static Foundation.NSString GetConstant (UIFontTextStyle self); public static UIFontTextStyle GetValue (Foundation.NSString constant); }
public class UITextFieldEditingEndedEventArgs : System.EventArgs { // constructors public UITextFieldEditingEndedEventArgs (UITextFieldDidEndEditingReason reason); // properties public UITextFieldDidEndEditingReason Reason { get; set; } }
public sealed delegate UITextViewDelegateShouldInteractTextDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable { // constructors public UITextViewDelegateShouldInteractTextDelegate (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (UITextView textView, NSTextAttachment textAttachment, Foundation.NSRange characterRange, UITextItemInteraction interaction, System.AsyncCallback callback, object object); public virtual bool EndInvoke (System.IAsyncResult result); public virtual bool Invoke (UITextView textView, NSTextAttachment textAttachment, Foundation.NSRange characterRange, UITextItemInteraction interaction); }
public sealed delegate UITextViewDelegateShouldInteractUrlDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable { // constructors public UITextViewDelegateShouldInteractUrlDelegate (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (UITextView textView, Foundation.NSUrl url, Foundation.NSRange characterRange, UITextItemInteraction interaction, System.AsyncCallback callback, object object); public virtual bool EndInvoke (System.IAsyncResult result); public virtual bool Invoke (UITextView textView, Foundation.NSUrl url, Foundation.NSRange characterRange, UITextItemInteraction interaction); }