id | title |
---|---|
28E18460-E52F-4945-AF49-4AFA62F0DBB5 |
tvOS 9.8.0 to 9.10.0 |
<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 properties:
public SafeHandles.SafeRegistryHandle Handle { get; } public string Name { get; } public int SubKeyCount { get; } public int ValueCount { get; } public RegistryView View { get; }
Removed method:
public static object GetValue (string keyName, string valueName, object defaultValue);
Added methods:
public RegistryKey CreateSubKey (string subkey, bool writable); public RegistryKey CreateSubKey (string subkey, bool writable, RegistryOptions options); public void DeleteSubKey (string subkey); public void DeleteSubKey (string subkey, bool throwOnMissingSubKey); public void DeleteSubKeyTree (string subkey); public void DeleteSubKeyTree (string subkey, bool throwOnMissingSubKey); public void DeleteValue (string name); public void DeleteValue (string name, bool throwOnMissingValue); public void Flush (); public static RegistryKey FromHandle (SafeHandles.SafeRegistryHandle handle); public static RegistryKey FromHandle (SafeHandles.SafeRegistryHandle handle, RegistryView view); public string[] GetSubKeyNames (); public object GetValue (string name); public object GetValue (string name, object defaultValue, RegistryValueOptions options); public RegistryValueKind GetValueKind (string name); public string[] GetValueNames (); public static RegistryKey OpenBaseKey (RegistryHive hKey, RegistryView view); public RegistryKey OpenSubKey (string name); public RegistryKey OpenSubKey (string name, System.Security.AccessControl.RegistryRights rights);
Added properties:
public static string BaseDirectory { get; } public static string TargetFrameworkName { get; }
Added methods:
public static object GetData (string name); public static void SetSwitch (string switchName, bool isEnabled); public static bool TryGetSwitch (string switchName, out bool isEnabled);
Added properties:
public static ConsoleColor BackgroundColor { get; set; } public static int BufferHeight { get; set; } public static int BufferWidth { get; set; } public static bool CapsLock { get; } public static int CursorLeft { get; set; } public static int CursorSize { get; set; } public static int CursorTop { get; set; } public static bool CursorVisible { get; set; } public static ConsoleColor ForegroundColor { get; set; } public static bool IsErrorRedirected { get; } public static bool IsInputRedirected { get; } public static bool IsOutputRedirected { get; } public static bool KeyAvailable { get; } public static int LargestWindowHeight { get; set; } public static int LargestWindowWidth { get; set; } public static bool NumberLock { get; } public static string Title { get; set; } public static bool TreatControlCAsInput { get; set; } public static int WindowHeight { get; set; } public static int WindowLeft { get; set; } public static int WindowTop { get; set; } public static int WindowWidth { get; set; }
Added event:
public event ConsoleCancelEventHandler CancelKeyPress;
Added methods:
public static void Beep (); public static void Beep (int frequency, int duration); public static void Clear (); public static void MoveBufferArea (int sourceLeft, int sourceTop, int sourceWidth, int sourceHeight, int targetLeft, int targetTop); public static void MoveBufferArea (int sourceLeft, int sourceTop, int sourceWidth, int sourceHeight, int targetLeft, int targetTop, char sourceChar, ConsoleColor sourceForeColor, ConsoleColor sourceBackColor); public static ConsoleKeyInfo ReadKey (); public static ConsoleKeyInfo ReadKey (bool intercept); public static void ResetColor (); public static void SetBufferSize (int width, int height); public static void SetCursorPosition (int left, int top); public static void SetWindowPosition (int left, int top); public static void SetWindowSize (int width, int height);
Added methods:
public static string GetEnvironmentVariable (string variable, EnvironmentVariableTarget target); public static Collections.IDictionary GetEnvironmentVariables (EnvironmentVariableTarget target); public static void SetEnvironmentVariable (string variable, string value, EnvironmentVariableTarget target);
Added properties:
public EventActivityOptions ActivityOptions { get; set; } public EventChannel Channel { get; set; } public string Message { get; set; } public EventOpcode Opcode { get; set; } public EventTags Tags { get; set; } public EventTask Task { get; set; } public byte Version { get; set; }
Added event:
public event System.EventHandler<EventCommandEventArgs> EventCommandExecuted;
Added methods:
public static string GenerateManifest (System.Type eventSourceType, string assemblyPathToIncludeInManifest); public static string GenerateManifest (System.Type eventSourceType, string assemblyPathToIncludeInManifest, EventManifestOptions flags); public static System.Guid GetGuid (System.Type eventSourceType); public static string GetName (System.Type eventSourceType); public static System.Collections.Generic.IEnumerable<EventSource> GetSources (); public static void SendCommand (EventSource eventSource, EventCommand command, System.Collections.Generic.IDictionary<System.String,System.String> commandArguments); public static void SetCurrentThreadActivityId (System.Guid activityId); public static void SetCurrentThreadActivityId (System.Guid activityId, out System.Guid oldActivityThatWillContinue); public void Write (string eventName, EventSourceOptions options); protected void WriteEventCore (int eventId, int eventDataCount, EventSource.EventData* data); protected void WriteEventWithRelatedActivityId (int eventId, System.Guid relatedActivityId, object[] args); protected void WriteEventWithRelatedActivityIdCore (int eventId, System.Guid* relatedActivityId, int eventDataCount, EventSource.EventData* data); protected override void ~EventSource ();
Added method:
public static FileStream Create (string path, int bufferSize, FileOptions options);
Added interface:
System.Runtime.Serialization.ISerializable
Added methods:
public FileInfo Replace (string destinationFileName, string destinationBackupFileName); public FileInfo Replace (string destinationFileName, string destinationBackupFileName, bool ignoreMetadataErrors);
Added method:
public override string ToString ();
Added methods:
public static bool AreComObjectsAvailableForCleanup (); public static TWrapper CreateWrapperOfType<T, TWrapper> (T o); public static object CreateWrapperOfType (object o, System.Type t); public static int FinalReleaseComObject (object o); public static IntPtr GetComInterfaceForObject<T, TInterface> (T o); public static IntPtr GetComInterfaceForObject (object o, System.Type T); public static IntPtr GetComInterfaceForObject (object o, System.Type T, CustomQueryInterfaceMode mode); public static int GetExceptionCode (); public static int GetHRForException (System.Exception e); public static int GetHRForLastWin32Error (); public static IntPtr GetIUnknownForObject (object o); public static void GetNativeVariantForObject (object obj, IntPtr pDstNativeVariant); public static void GetNativeVariantForObject<T> (T obj, IntPtr pDstNativeVariant); public static object GetObjectForIUnknown (IntPtr pUnk); public static T GetObjectForNativeVariant<T> (IntPtr pSrcNativeVariant); public static object GetObjectForNativeVariant (IntPtr pSrcNativeVariant); public static T[] GetObjectsForNativeVariants<T> (IntPtr aSrcNativeVariant, int cVars); public static object[] GetObjectsForNativeVariants (IntPtr aSrcNativeVariant, int cVars); public static int GetStartComSlot (System.Type t); public static System.Type GetTypeFromCLSID (System.Guid clsid); public static string GetTypeInfoName (ComTypes.ITypeInfo typeInfo); public static object GetUniqueObjectForIUnknown (IntPtr unknown); public static bool IsComObject (object o); public static int ReleaseComObject (object o);
public sealed class ComImportAttribute : System.Attribute {
// constructors
public ComImportAttribute ();
}
[Serializable] public sealed class DispatchWrapper { // constructors public DispatchWrapper (object obj); // properties public object WrappedObject { get; } }
Added constructor:
public AuthorizationRuleCollection ();
Added method:
public void AddRule (AuthorizationRule rule);
Added methods:
public void AddDiscretionaryAcl (byte revision, int trusted); public void AddSystemAcl (byte revision, int trusted);
Added methods:
public void AddAccess (AccessControlType accessType, System.Security.Principal.SecurityIdentifier sid, ObjectAccessRule rule); public bool RemoveAccess (AccessControlType accessType, System.Security.Principal.SecurityIdentifier sid, ObjectAccessRule rule); public void RemoveAccessSpecific (AccessControlType accessType, System.Security.Principal.SecurityIdentifier sid, ObjectAccessRule rule); public void SetAccess (AccessControlType accessType, System.Security.Principal.SecurityIdentifier sid, ObjectAccessRule rule);
Added constructors:
protected ObjectSecurity (); protected ObjectSecurity (CommonSecurityDescriptor securityDescriptor);
Added methods:
public void AddAudit (System.Security.Principal.SecurityIdentifier sid, ObjectAuditRule rule); public bool RemoveAudit (System.Security.Principal.SecurityIdentifier sid, ObjectAuditRule rule); public void RemoveAuditSpecific (System.Security.Principal.SecurityIdentifier sid, ObjectAuditRule rule); public void SetAudit (System.Security.Principal.SecurityIdentifier sid, ObjectAuditRule rule);
Added methods:
public static void RunImpersonated (Microsoft.Win32.SafeHandles.SafeAccessTokenHandle safeAccessTokenHandle, System.Action action); public static T RunImpersonated<T> (Microsoft.Win32.SafeHandles.SafeAccessTokenHandle safeAccessTokenHandle, System.Func<T> func);
<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 field:
public static MonoTlsProviderFactoryDelegate _PrivateFactoryDelegate;
Added property:
public string IdnHost { get; }
Added methods:
[Obsolete ("The method has been deprecated. It is not used by the system. http://go.microsoft.com/fwlink/?linkid=14202")] protected virtual void Canonicalize ();<span class='added added-method ' data-is-non-breaking="">[Obsolete ("The method has been deprecated. It is not used by the system. http://go.microsoft.com/fwlink/?linkid=14202")] protected virtual void CheckSecurity ();</span>
Modified methods:
protected protected virtual string GetComponents (Uri uri, UriComponents components, UriFormat format)protected protected virtual void InitializeAndValidate (Uri uri, out UriFormatException parsingError)protected protected virtual bool IsBaseOf (Uri baseUri, Uri relativeUri)protected protected virtual bool IsWellFormedOriginalString (Uri uri)protected protected virtual UriParser OnNewUri ()protected protected virtual string Resolve (Uri baseUri, Uri relativeUri, out UriFormatException parsingError)
public class GopherStyleUriParser : System.UriParser {
// constructors
public GopherStyleUriParser ();
}
Added property:
public Microsoft.Win32.SafeHandles.SafeProcessHandle SafeHandle { get; }
Removed method:
protected override void ~Process ();
Added property:
public ProcessModule Item { get; }
Added methods:
public bool Contains (ProcessModule module); public void CopyTo (ProcessModule[] array, int index); public int IndexOf (ProcessModule module);
Added method:
public System.Collections.IEnumerator GetEnumerator ();
Modified constructors:
public ProcessStartInfo (string filename fileName)public ProcessStartInfo (string filename fileName, string arguments)
Added properties:
public System.Collections.Generic.IDictionary<System.String,System.String> Environment { get; } public string PasswordInClearText { get; set; }
Added property:
public ProcessThread Item { get; }
Added methods:
public int Add (ProcessThread thread); public bool Contains (ProcessThread thread); public void CopyTo (ProcessThread[] array, int index); public int IndexOf (ProcessThread thread); public void Insert (int index, ProcessThread thread); public void Remove (ProcessThread thread);
Modified constructors:
public DeflateStream (System.IO.Stream compressedStream stream, CompressionMode mode)public DeflateStream (System.IO.Stream compressedStream stream, CompressionMode mode, bool leaveOpen)
Modified methods:
public override int Read (byte[] dest array, int dest_offset offset, int count)public override void Write (byte[] src array, int src_offset offset, int count)
Added property:
public override bool SupportsHeaders { get; }
Removed methods:
protected override void Dispose (bool disposing); protected override void ~FileWebResponse ();
Added property:
public override bool SupportsHeaders { get; }
Added property:
public override bool SupportsHeaders { get; }
Modified constructors:
protected protected GatewayIPAddressInformationCollection ()
Added methods:
public virtual System.IAsyncResult BeginGetUnicastAddresses (System.AsyncCallback callback, object state); public virtual UnicastIPAddressInformationCollection EndGetUnicastAddresses (System.IAsyncResult asyncResult); public virtual UnicastIPAddressInformationCollection GetUnicastAddresses (); public virtual System.Threading.Tasks.Task<UnicastIPAddressInformationCollection> GetUnicastAddressesAsync ();
Added method:
public virtual long GetScopeId (ScopeLevel scopeLevel);
Added constructor:
protected NetworkInformationException (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
Modified properties:
public override int ErrorCode { get; }
Modified properties:
public abstract virtual string Description { get; }public abstract virtual string Id { get; }public abstract virtual bool IsReceiveOnly { get; }public abstract virtual string Name { get; }public abstract virtual NetworkInterfaceType NetworkInterfaceType { get; }public abstract virtual OperationalStatus OperationalStatus { get; }public abstract virtual long Speed { get; }public abstract virtual bool SupportsMulticast { get; }
Added property:
public static int IPv6LoopbackInterfaceIndex { get; }
Removed method:
public static System.Net.IPAddress GetNetMask (System.Net.IPAddress address);
Modified methods:
public abstract virtual IPInterfaceProperties GetIPProperties ()public abstract virtual IPv4InterfaceStatistics GetIPv4Statistics ()public abstract virtual PhysicalAddress GetPhysicalAddress ()public abstract virtual bool Supports (NetworkInterfaceComponent networkInterfaceComponent)
Added method:
public virtual IPInterfaceStatistics GetIPStatistics ();
Added values:
Wman = 237, Wwanpp = 243, Wwanpp2 = 244,
[Serializable] public sealed class NetworkInformationPermission : System.Security.CodeAccessPermission, System.Security.IPermission, System.Security.ISecurityEncodable, System.Security.IStackWalk, System.Security.Permissions.IUnrestrictedPermission { // constructors public NetworkInformationPermission (NetworkInformationAccess access); public NetworkInformationPermission (System.Security.Permissions.PermissionState state); // properties public NetworkInformationAccess Access { get; } // methods public void AddPermission (NetworkInformationAccess access); public override System.Security.IPermission Copy (); public override void FromXml (System.Security.SecurityElement securityElement); public override System.Security.IPermission Intersect (System.Security.IPermission target); public override bool IsSubsetOf (System.Security.IPermission target); public virtual bool IsUnrestricted (); public override System.Security.SecurityElement ToXml (); public override System.Security.IPermission Union (System.Security.IPermission target); }
[Serializable] public sealed class NetworkInformationPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute { // constructors public NetworkInformationPermissionAttribute (System.Security.Permissions.SecurityAction action); // properties public string Access { get; set; } // methods public override System.Security.IPermission CreatePermission (); }
Added methods:
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (); public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, string targetName); public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName); public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, string targetName, ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel); public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName, ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel); public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync (); public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync (System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy policy); public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync (System.Net.NetworkCredential credential, ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel requiredImpersonationLevel); public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy policy, ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel requiredImpersonationLevel);
Added constructor:
public SslStream (System.IO.Stream innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback, EncryptionPolicy encryptionPolicy);
Modified methods:
public void Bind (System.Net.EndPoint local_end localEP)public byte[] GetSocketOption (SocketOptionLevel optionLevel, SocketOptionName optionName, int length optionLength)public int IOControl (int ioctl_code ioControlCode, byte[] in_value optionInValue, byte[] out_value optionOutValue)public bool Poll (int time_us microSeconds, SelectMode mode)public int Receive (byte[] buffer, SocketFlags flags socketFlags)public int Receive (byte[] buffer, int size, SocketFlags flags socketFlags)public int Receive (byte[] buffer, int offset, int size, SocketFlags flags socketFlags)public int Receive (byte[] buffer, int offset, int size, SocketFlags flags socketFlags, out SocketError error errorCode)public int ReceiveFrom (byte[] buffer, SocketFlags flags socketFlags, ref System.Net.EndPoint remoteEP)public int ReceiveFrom (byte[] buffer, int size, SocketFlags flags socketFlags, ref System.Net.EndPoint remoteEP)public int ReceiveFrom (byte[] buffer, int offset, int size, SocketFlags flags socketFlags, ref System.Net.EndPoint remoteEP)public int Send (byte[] buffer, SocketFlags flags socketFlags)public int Send (byte[] buffer, int size, SocketFlags flags socketFlags)public int Send (byte[] buffer, int offset, int size, SocketFlags flags socketFlags)public int Send (byte[] buffer, int offset, int size, SocketFlags flags socketFlags, out SocketError error errorCode)public int SendTo (byte[] buffer, System.Net.EndPoint remote_end remoteEP)public int SendTo (byte[] buffer, SocketFlags flags socketFlags, System.Net.EndPoint remote_end remoteEP)public int SendTo (byte[] buffer, int size, SocketFlags flags socketFlags, System.Net.EndPoint remote_end remoteEP)public int SendTo (byte[] buffer, int offset, int size, SocketFlags flags socketFlags, System.Net.EndPoint remote_end remoteEP)
Added methods:
public static void CancelConnectAsync (SocketAsyncEventArgs e); public static bool ConnectAsync (SocketType socketType, ProtocolType protocolType, SocketAsyncEventArgs e);
Added properties:
public IPPacketInformation ReceiveMessageFromPacketInfo { get; } public SendPacketsElement[] SendPacketsElements { get; set; }
Modified constructors:
public SemaphoreAccessRule (System.Security.Principal.IdentityReference identity, SemaphoreRights semaphoreRights eventRights, AccessControlType type)public SemaphoreAccessRule (string identity, SemaphoreRights semaphoreRights eventRights, AccessControlType type)
Added method:
public bool Contains (string searchServiceName);
public class TokenBinding { // properties public TokenBindingType BindingType { get; } // methods public byte[] GetRawTokenBindingId (); }
Added property:
public Microsoft.Win32.SafeHandles.SafeX509ChainHandle SafeHandle { get; }
Added values:
ExplicitDistrust = 67108864, HasNotSupportedCriticalExtension = 134217728, HasWeakSignature = 1048576,
Modified methods:
public override void CopyFrom (System.Security.Cryptography.AsnEncodedData encodedData asnEncodedData)
Added interface:
System.IDisposable
Added method:
public virtual void Dispose ();
<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 methods:
public static MemoryMappedFile CreateFromFile (System.IO.FileStream fileStream, string mapName, long capacity, MemoryMappedFileAccess access, System.IO.HandleInheritability inheritability, bool leaveOpen); public static MemoryMappedFile CreateNew (string mapName, long capacity, MemoryMappedFileAccess access, MemoryMappedFileOptions options, System.IO.HandleInheritability inheritability); public static MemoryMappedFile CreateOrOpen (string mapName, long capacity, MemoryMappedFileAccess access, MemoryMappedFileOptions options, System.IO.HandleInheritability inheritability);
Added methods:
public System.Threading.Tasks.Task ConnectAsync (); public System.Threading.Tasks.Task ConnectAsync (int timeout); public System.Threading.Tasks.Task ConnectAsync (System.Threading.CancellationToken cancellationToken); public System.Threading.Tasks.Task ConnectAsync (int timeout, System.Threading.CancellationToken cancellationToken); protected override void ~NamedPipeClientStream ();
Added methods:
public System.Threading.Tasks.Task WaitForConnectionAsync (); public System.Threading.Tasks.Task WaitForConnectionAsync (System.Threading.CancellationToken cancellationToken);
[Serializable] [Flags] public enum PipeAccessRights { AccessSystemSecurity = 16777216, ChangePermissions = 262144, CreateNewInstance = 4, Delete = 65536, FullControl = 2032031, Read = 131209, ReadAttributes = 128, ReadData = 1, ReadExtendedAttributes = 8, ReadPermissions = 131072, ReadWrite = 131483, Synchronize = 1048576, TakeOwnership = 524288, Write = 274, WriteAttributes = 256, WriteData = 2, WriteExtendedAttributes = 16, }
public sealed class PipeAccessRule : System.Security.AccessControl.AccessRule { // constructors public PipeAccessRule (System.Security.Principal.IdentityReference identity, PipeAccessRights rights, System.Security.AccessControl.AccessControlType type); public PipeAccessRule (string identity, PipeAccessRights rights, System.Security.AccessControl.AccessControlType type); // properties public PipeAccessRights PipeAccessRights { get; } }
public sealed class PipeAuditRule : System.Security.AccessControl.AuditRule { // constructors public PipeAuditRule (System.Security.Principal.IdentityReference identity, PipeAccessRights rights, System.Security.AccessControl.AuditFlags flags); public PipeAuditRule (string identity, PipeAccessRights rights, System.Security.AccessControl.AuditFlags flags); // properties public PipeAccessRights PipeAccessRights { get; } }
public class PipeSecurity : System.Security.AccessControl.NativeObjectSecurity { // constructors public PipeSecurity (); // properties public override System.Type AccessRightType { get; } public override System.Type AccessRuleType { get; } public override System.Type AuditRuleType { get; } // methods public override System.Security.AccessControl.AccessRule AccessRuleFactory (System.Security.Principal.IdentityReference identityReference, int accessMask, bool isInherited, System.Security.AccessControl.InheritanceFlags inheritanceFlags, System.Security.AccessControl.PropagationFlags propagationFlags, System.Security.AccessControl.AccessControlType type); public void AddAccessRule (PipeAccessRule rule); public void AddAuditRule (PipeAuditRule rule); public override System.Security.AccessControl.AuditRule AuditRuleFactory (System.Security.Principal.IdentityReference identityReference, int accessMask, bool isInherited, System.Security.AccessControl.InheritanceFlags inheritanceFlags, System.Security.AccessControl.PropagationFlags propagationFlags, System.Security.AccessControl.AuditFlags flags); protected void Persist (System.Runtime.InteropServices.SafeHandle handle); protected void Persist (string name); public bool RemoveAccessRule (PipeAccessRule rule); public void RemoveAccessRuleSpecific (PipeAccessRule rule); public bool RemoveAuditRule (PipeAuditRule rule); public void RemoveAuditRuleAll (PipeAuditRule rule); public void RemoveAuditRuleSpecific (PipeAuditRule rule); public void ResetAccessRule (PipeAccessRule rule); public void SetAccessRule (PipeAccessRule rule); public void SetAuditRule (PipeAuditRule rule); }
public sealed delegate PipeStreamImpersonationWorker : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable { // constructors public PipeStreamImpersonationWorker (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (); }
Added methods:
public static System.Collections.Generic.IEnumerable<TSource> Append<TSource> (System.Collections.Generic.IEnumerable<TSource> source, TSource element); public static System.Collections.Generic.IEnumerable<TSource> Prepend<TSource> (System.Collections.Generic.IEnumerable<TSource> source, TSource element);
Added method:
public TDelegate Compile (bool preferInterpretation);
Added properties:
public static CngAlgorithm ECDiffieHellman { get; } public static CngAlgorithm ECDsa { get; }
Added properties:
public CngAlgorithm Algorithm { get; } public CngAlgorithmGroup AlgorithmGroup { get; } public CngExportPolicies ExportPolicy { get; } public Microsoft.Win32.SafeHandles.SafeNCryptKeyHandle Handle { get; } public bool IsEphemeral { get; } public bool IsMachineKey { get; } public string KeyName { get; } public int KeySize { get; } public CngKeyUsages KeyUsage { get; } public IntPtr ParentWindowHandle { get; set; } public CngProvider Provider { get; } public Microsoft.Win32.SafeHandles.SafeNCryptProviderHandle ProviderHandle { get; } public CngUIPolicy UIPolicy { get; } public string UniqueName { get; }
Added methods:
public static CngKey Create (CngAlgorithm algorithm); public static CngKey Create (CngAlgorithm algorithm, string keyName); public static CngKey Create (CngAlgorithm algorithm, string keyName, CngKeyCreationParameters creationParameters); public void Delete (); public static bool Exists (string keyName); public static bool Exists (string keyName, CngProvider provider); public static bool Exists (string keyName, CngProvider provider, CngKeyOpenOptions options); public byte[] Export (CngKeyBlobFormat format); public CngProperty GetProperty (string name, CngPropertyOptions options); public bool HasProperty (string name, CngPropertyOptions options); public static CngKey Import (byte[] keyBlob, CngKeyBlobFormat format); public static CngKey Import (byte[] keyBlob, CngKeyBlobFormat format, CngProvider provider); public static CngKey Open (string keyName); public static CngKey Open (Microsoft.Win32.SafeHandles.SafeNCryptKeyHandle keyHandle, CngKeyHandleOpenOptions keyHandleOpenOptions); public static CngKey Open (string keyName, CngProvider provider); public static CngKey Open (string keyName, CngProvider provider, CngKeyOpenOptions openOptions); public void SetProperty (CngProperty property);
Added properties:
public static CngKeyBlobFormat EccFullPrivateBlob { get; } public static CngKeyBlobFormat EccFullPublicBlob { get; }
Added methods:
public static ECDsa Create (ECCurve curve); public static ECDsa Create (ECParameters parameters); public virtual ECParameters ExportExplicitParameters (bool includePrivateParameters); public virtual ECParameters ExportParameters (bool includePrivateParameters); public virtual void GenerateKey (ECCurve curve); public virtual void ImportParameters (ECParameters parameters);
Added constructors:
public ECDsaCng (int keySize); public ECDsaCng (CngKey key); public ECDsaCng (ECCurve curve);
Added property:
public CngKey Key { get; }
Added constructors:
public RSACng (int keySize); public RSACng (CngKey key);
Added property:
public CngKey Key { get; }
public struct ECCurve { // fields public byte[] A; public byte[] B; public byte[] Cofactor; public ECCurve.ECCurveType CurveType; public ECPoint G; public HashAlgorithmName? Hash; public byte[] Order; public byte[] Polynomial; public byte[] Prime; public byte[] Seed; // properties public bool IsCharacteristic2 { get; } public bool IsExplicit { get; } public bool IsNamed { get; } public bool IsPrime { get; } public Oid Oid { get; } // methods public static ECCurve CreateFromFriendlyName (string oidFriendlyName); public static ECCurve CreateFromOid (Oid curveOid); public static ECCurve CreateFromValue (string oidValue); public void Validate ();// inner types [Serializable] public enum ECCurveType { <span class='added added-field ' data-is-non-breaking="">public static const ECCurve.ECCurveType Characteristic2;</span> <span class='added added-field ' data-is-non-breaking="">public static const ECCurve.ECCurveType Implicit;</span> <span class='added added-field ' data-is-non-breaking="">public static const ECCurve.ECCurveType Named;</span> <span class='added added-field ' data-is-non-breaking="">public static const ECCurve.ECCurveType PrimeMontgomery;</span> <span class='added added-field ' data-is-non-breaking="">public static const ECCurve.ECCurveType PrimeShortWeierstrass;</span> <span class='added added-field ' data-is-non-breaking="">public static const ECCurve.ECCurveType PrimeTwistedEdwards;</span> } public static class NamedCurves { // properties <span class='added added-property ' data-is-non-breaking="">public static ECCurve brainpoolP160r1 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve brainpoolP160t1 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve brainpoolP192r1 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve brainpoolP192t1 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve brainpoolP224r1 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve brainpoolP224t1 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve brainpoolP256r1 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve brainpoolP256t1 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve brainpoolP320r1 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve brainpoolP320t1 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve brainpoolP384r1 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve brainpoolP384t1 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve brainpoolP512r1 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve brainpoolP512t1 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve nistP256 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve nistP384 { get; }</span> <span class='added added-property ' data-is-non-breaking="">public static ECCurve nistP521 { get; }</span> }
}
public struct ECParameters { // fields public ECCurve Curve; public byte[] D; public ECPoint Q; // methods public void Validate (); }
public struct ECPoint { // fields public byte[] X; public byte[] Y; }
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 (); }
<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 constructor:
public SqlDataRecord ();
Added constructor:
public SqlDataRecord (SqlMetaData[] metaData);
Modified properties:
public virtual final int FieldCount { get; }public virtual final object this [int ordinal] { get; }public virtual final object this [string name] { get; }
Modified methods:
public virtual final bool GetBoolean (int ordinal)public virtual final byte GetByte (int ordinal)public virtual final long GetBytes (int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length)public virtual final char GetChar (int ordinal)public virtual final long GetChars (int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length)public virtual final System.Data.IDataReader GetData (int ordinal)public virtual final string GetDataTypeName (int ordinal)public virtual final System.DateTime GetDateTime (int ordinal)public virtual final System.Decimal GetDecimal (int ordinal)public virtual final double GetDouble (int ordinal)public virtual final System.Type GetFieldType (int ordinal)public virtual final float GetFloat (int ordinal)public virtual final System.Guid GetGuid (int ordinal)public virtual final short GetInt16 (int ordinal)public virtual final int GetInt32 (int ordinal)public virtual final long GetInt64 (int ordinal)public virtual final string GetName (int ordinal)public virtual final int GetOrdinal (string name)public virtual final string GetString (int ordinal)public virtual final object GetValue (int ordinal)public virtual final int GetValues (object[] values)public virtual final bool IsDBNull (int ordinal)
Added methods:
public virtual System.DateTimeOffset GetDateTimeOffset (int ordinal); public virtual System.Data.SqlTypes.SqlBinary GetSqlBinary (int ordinal); public virtual System.Data.SqlTypes.SqlBoolean GetSqlBoolean (int ordinal); public virtual System.Data.SqlTypes.SqlByte GetSqlByte (int ordinal); public virtual System.Data.SqlTypes.SqlBytes GetSqlBytes (int ordinal); public virtual System.Data.SqlTypes.SqlChars GetSqlChars (int ordinal); public virtual System.Data.SqlTypes.SqlDateTime GetSqlDateTime (int ordinal); public virtual System.Data.SqlTypes.SqlDecimal GetSqlDecimal (int ordinal); public virtual System.Data.SqlTypes.SqlDouble GetSqlDouble (int ordinal); public virtual System.Type GetSqlFieldType (int ordinal); public virtual System.Data.SqlTypes.SqlGuid GetSqlGuid (int ordinal); public virtual System.Data.SqlTypes.SqlInt16 GetSqlInt16 (int ordinal); public virtual System.Data.SqlTypes.SqlInt32 GetSqlInt32 (int ordinal); public virtual System.Data.SqlTypes.SqlInt64 GetSqlInt64 (int ordinal); public virtual SqlMetaData GetSqlMetaData (int ordinal); public virtual System.Data.SqlTypes.SqlMoney GetSqlMoney (int ordinal); public virtual System.Data.SqlTypes.SqlSingle GetSqlSingle (int ordinal); public virtual System.Data.SqlTypes.SqlString GetSqlString (int ordinal); public virtual object GetSqlValue (int ordinal); public virtual int GetSqlValues (object[] values); public virtual System.Data.SqlTypes.SqlXml GetSqlXml (int ordinal); public virtual System.TimeSpan GetTimeSpan (int ordinal); public virtual void SetBoolean (int ordinal, bool value); public virtual void SetByte (int ordinal, byte value); public virtual void SetBytes (int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length); public virtual void SetChar (int ordinal, char value); public virtual void SetChars (int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length); public virtual void SetDBNull (int ordinal); public virtual void SetDateTime (int ordinal, System.DateTime value); public virtual void SetDateTimeOffset (int ordinal, System.DateTimeOffset value); public virtual void SetDecimal (int ordinal, System.Decimal value); public virtual void SetDouble (int ordinal, double value); public virtual void SetFloat (int ordinal, float value); public virtual void SetGuid (int ordinal, System.Guid value); public virtual void SetInt16 (int ordinal, short value); public virtual void SetInt32 (int ordinal, int value); public virtual void SetInt64 (int ordinal, long value); public virtual void SetSqlBinary (int ordinal, System.Data.SqlTypes.SqlBinary value); public virtual void SetSqlBoolean (int ordinal, System.Data.SqlTypes.SqlBoolean value); public virtual void SetSqlByte (int ordinal, System.Data.SqlTypes.SqlByte value); public virtual void SetSqlBytes (int ordinal, System.Data.SqlTypes.SqlBytes value); public virtual void SetSqlChars (int ordinal, System.Data.SqlTypes.SqlChars value); public virtual void SetSqlDateTime (int ordinal, System.Data.SqlTypes.SqlDateTime value); public virtual void SetSqlDecimal (int ordinal, System.Data.SqlTypes.SqlDecimal value); public virtual void SetSqlDouble (int ordinal, System.Data.SqlTypes.SqlDouble value); public virtual void SetSqlGuid (int ordinal, System.Data.SqlTypes.SqlGuid value); public virtual void SetSqlInt16 (int ordinal, System.Data.SqlTypes.SqlInt16 value); public virtual void SetSqlInt32 (int ordinal, System.Data.SqlTypes.SqlInt32 value); public virtual void SetSqlInt64 (int ordinal, System.Data.SqlTypes.SqlInt64 value); public virtual void SetSqlMoney (int ordinal, System.Data.SqlTypes.SqlMoney value); public virtual void SetSqlSingle (int ordinal, System.Data.SqlTypes.SqlSingle value); public virtual void SetSqlString (int ordinal, System.Data.SqlTypes.SqlString value); public virtual void SetSqlXml (int ordinal, System.Data.SqlTypes.SqlXml value); public virtual void SetString (int ordinal, string value); public virtual void SetTimeSpan (int ordinal, System.TimeSpan value); public virtual void SetValue (int ordinal, object value); public virtual int SetValues (object[] values);
Added constructors:
public SqlMetaData (string name, System.Data.SqlDbType dbType, bool useServerDefault, bool isUniqueKey, System.Data.SqlClient.SortOrder columnSortOrder, int sortOrdinal); public SqlMetaData (string name, System.Data.SqlDbType dbType, long maxLength, bool useServerDefault, bool isUniqueKey, System.Data.SqlClient.SortOrder columnSortOrder, int sortOrdinal); public SqlMetaData (string name, System.Data.SqlDbType dbType, byte precision, byte scale, bool useServerDefault, bool isUniqueKey, System.Data.SqlClient.SortOrder columnSortOrder, int sortOrdinal); public SqlMetaData (string name, System.Data.SqlDbType dbType, long maxLength, long locale, System.Data.SqlTypes.SqlCompareOptions compareOptions, bool useServerDefault, bool isUniqueKey, System.Data.SqlClient.SortOrder columnSortOrder, int sortOrdinal); public SqlMetaData (string name, System.Data.SqlDbType dbType, string database, string owningSchema, string objectName, bool useServerDefault, bool isUniqueKey, System.Data.SqlClient.SortOrder columnSortOrder, int sortOrdinal); public SqlMetaData (string name, System.Data.SqlDbType dbType, long maxLength, byte precision, byte scale, long localeId, System.Data.SqlTypes.SqlCompareOptions compareOptions, System.Type userDefinedType, bool useServerDefault, bool isUniqueKey, System.Data.SqlClient.SortOrder columnSortOrder, int sortOrdinal);
Added properties:
public bool IsUniqueKey { get; } public System.Data.SqlClient.SortOrder SortOrder { get; } public int SortOrdinal { get; } public bool UseServerDefault { get; }
Added methods:
public System.Data.SqlTypes.SqlXml Adjust (System.Data.SqlTypes.SqlXml value); public System.DateTimeOffset Adjust (System.DateTimeOffset value); public System.TimeSpan Adjust (System.TimeSpan value);
Added property:
public bool EnableStreaming { get; set; }
Added methods:
public void WriteToServer (System.Data.Common.DbDataReader reader); public System.Threading.Tasks.Task WriteToServerAsync (System.Data.Common.DbDataReader reader); public System.Threading.Tasks.Task WriteToServerAsync (System.Data.Common.DbDataReader reader, System.Threading.CancellationToken cancellationToken);
Added methods:
public System.Threading.Tasks.Task<SqlDataReader> ExecuteReaderAsync (); public System.Threading.Tasks.Task<SqlDataReader> ExecuteReaderAsync (System.Data.CommandBehavior behavior); public System.Threading.Tasks.Task<SqlDataReader> ExecuteReaderAsync (System.Threading.CancellationToken cancellationToken); public System.Threading.Tasks.Task<SqlDataReader> ExecuteReaderAsync (System.Data.CommandBehavior behavior, System.Threading.CancellationToken cancellationToken); public System.Threading.Tasks.Task<System.Xml.XmlReader> ExecuteXmlReaderAsync (); public System.Threading.Tasks.Task<System.Xml.XmlReader> ExecuteXmlReaderAsync (System.Threading.CancellationToken cancellationToken);
Added property:
public System.Guid ClientConnectionId { get; }
Added methods:
public void ResetStatistics (); public System.Collections.IDictionary RetrieveStatistics ();
Added methods:
public override System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (int i, System.Threading.CancellationToken cancellationToken); public override System.IO.Stream GetStream (int i); public override System.IO.TextReader GetTextReader (int i); public override System.Threading.Tasks.Task<bool> IsDBNullAsync (int i, System.Threading.CancellationToken cancellationToken);
Added property:
public System.Guid ClientConnectionId { 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 (); )
Modified constructors:
public ActionNotSupportedException (string msg message)public ActionNotSupportedException (string msg message, System.Exception inner innerException)
Modified methods:
protected virtual void ApplyConfiguration (string endpointConfig configurationName)protected void InitializeEndpoint (Channels.Binding binding, EndpointAddress remoteAddress address)protected void InitializeEndpoint (string endpointConfigurationName configurationName, EndpointAddress remoteAddress)
Modified constructors:
protected ChannelFactory`1 (System.Type type channelType)
Modified constructors:
public CommunicationException (string msg message)public CommunicationException (string msg message, System.Exception inner innerException)
Modified constructors:
public CommunicationObjectAbortedException (string msg message)public CommunicationObjectAbortedException (string msg message, System.Exception inner innerException)
Modified constructors:
public CommunicationObjectFaultedException (string msg message)public CommunicationObjectFaultedException (string msg message, System.Exception inner innerException)
Modified constructors:
public DnsEndpointIdentity (string dns dnsName)
Modified constructors:
protected DuplexClientBase`1 (object instance callbackInstance)protected DuplexClientBase`1 (InstanceContext instance callbackInstance)protected DuplexClientBase`1 (object instance callbackInstance, Description.ServiceEndpoint endpoint)protected DuplexClientBase`1 (object instance callbackInstance, string configurationName endpointConfigurationName)protected DuplexClientBase`1 (InstanceContext instance callbackInstance, Description.ServiceEndpoint endpoint)protected DuplexClientBase`1 (InstanceContext instance callbackInstance, string configurationName endpointConfigurationName)protected DuplexClientBase`1 (object instance callbackInstance, Channels.Binding binding, EndpointAddress address remoteAddress)protected DuplexClientBase`1 (object instance callbackInstance, string bindingConfigurationName, EndpointAddress address remoteAddress)protected DuplexClientBase`1 (object instance callbackInstance, string endpointConfigurationName, string remoteAddress)protected DuplexClientBase`1 (InstanceContext instance callbackInstance, Channels.Binding binding, EndpointAddress address remoteAddress)protected DuplexClientBase`1 (InstanceContext instance callbackInstance, string configurationName endpointConfigurationName, EndpointAddress address)protected DuplexClientBase`1 (InstanceContext instance callbackInstance, string endpointConfigurationName, string remoteAddress)
Modified constructors:
public EndpointAddress (System.Uri uri, Channels.AddressHeader[] headers addressHeaders)public EndpointAddress (System.Uri uri, EndpointIdentity identity, Channels.AddressHeader[] headers addressHeaders)
Added property:
public EndpointIdentity Identity { get; set; }
Modified constructors:
public EndpointNotFoundException (string msg message)public EndpointNotFoundException (string msg message, System.Exception inner innerException)
Modified constructors:
public FaultCode (string name, FaultCode subcode subCode)public FaultCode (string name, string ns, FaultCode subcode subCode)
Modified methods:
public FaultCode CreateReceiverFaultCode (FaultCode subcode subCode)public FaultCode CreateSenderFaultCode (FaultCode subcode subCode)
Modified methods:
public FaultException CreateFault (Channels.MessageFault fault messageFault, System.Type[] details faultDetailTypes)
Modified constructors:
public InstanceContext (object dummy implementation)
Added interfaces:
ICommunicationObject System.ServiceModel.IExtensibleObject<InstanceContext>
Added properties:
protected override System.TimeSpan DefaultCloseTimeout { get; } protected override System.TimeSpan DefaultOpenTimeout { get; } public System.Threading.SynchronizationContext SynchronizationContext { get; set; }
Added methods:
public object GetServiceInstance (Channels.Message message); protected override void OnAbort (); protected override System.IAsyncResult OnBeginClose (System.TimeSpan timeout, System.AsyncCallback callback, object state); protected override System.IAsyncResult OnBeginOpen (System.TimeSpan timeout, System.AsyncCallback callback, object state); protected override void OnClose (System.TimeSpan timeout); protected override void OnClosed (); protected override void OnEndClose (System.IAsyncResult result); protected override void OnEndOpen (System.IAsyncResult result); protected override void OnFaulted (); protected override void OnOpen (System.TimeSpan timeout); protected override void OnOpened (); protected override void OnOpening ();
Modified constructors:
public InvalidMessageContractException (string msg message)public InvalidMessageContractException (string msg message, System.Exception inner innerException)
Modified constructors:
public MessageHeaderException (string msg message)public MessageHeaderException (string msg message, System.Exception inner innerException)
Modified constructors:
public MessageHeader`1 (T content, bool must_understand mustUnderstand, string actor, bool relay)
Added constructor:
public MessageSecurityOverTcp ();
Modified constructors:
public ProtocolException (string msg message)public ProtocolException (string msg message, System.Exception inner innerException)
Modified constructors:
public QuotaExceededException (string msg message)public QuotaExceededException (string msg message, System.Exception inner innerException)
Modified constructors:
public ServerTooBusyException (string msg message)public ServerTooBusyException (string msg message, System.Exception inner innerException)
Modified constructors:
public ServiceActivationException (string msg message)public ServiceActivationException (string msg message, System.Exception inner innerException)
Modified constructors:
public SpnEndpointIdentity (string spn spnName)
Added property:
public System.Security.Authentication.SslProtocols SslProtocols { get; set; }
Modified methods:
public AddressHeader CreateAddressHeader (object value, System.Runtime.Serialization.XmlObjectSerializer formatter serializer)public AddressHeader CreateAddressHeader (string name, string ns, object value, System.Runtime.Serialization.XmlObjectSerializer formatter serializer)public T GetValue<T> (System.Runtime.Serialization.XmlObjectSerializer formatter serializer)
Modified constructors:
public AddressHeaderCollection (System.Collections.Generic.IEnumerable<AddressHeader> headers addressHeaders)
Modified constructors:
public BindingContext (CustomBinding binding, BindingParameterCollection parms parameters)
Modified constructors:
protected BindingElement (BindingElement other elementToBeCloned)
Modified constructors:
public BindingElementCollection (System.Collections.Generic.IEnumerable<BindingElement> bindings elements)public BindingElementCollection (BindingElement[] bindings elements)
Modified constructors:
protected ChannelBase (ChannelManagerBase manager channelManager)
Modified methods:
public virtual final TChannel CreateChannel (System.ServiceModel.EndpointAddress remoteAddress address)public virtual final TChannel CreateChannel (System.ServiceModel.EndpointAddress remoteAddress address, System.Uri via)protected abstract TChannel OnCreateChannel (System.ServiceModel.EndpointAddress remoteAddress address, System.Uri via)
Modified constructors:
public CustomBinding (System.Collections.Generic.IEnumerable<BindingElement> bindingElements bindingElementsInTopDownChannelStackOrder)public CustomBinding (BindingElement[] binding bindingElementsInTopDownChannelStackOrder)public CustomBinding (string name, string ns, BindingElement[] binding bindingElementsInTopDownChannelStackOrder)
Modified methods:
protected abstract bool OnTryCreateException (Message message, MessageFault fault, out System.Exception error exception)protected abstract bool OnTryCreateFaultMessage (System.Exception error exception, out Message message)public bool TryCreateException (Message message, MessageFault fault, out System.Exception error exception)public bool TryCreateFaultMessage (System.Exception error exception, out Message message)
Modified constructors:
protected HttpTransportBindingElement (HttpTransportBindingElement other elementToBeCloned)
Modified constructors:
protected HttpsTransportBindingElement (HttpsTransportBindingElement other elementToBeCloned)
Modified methods:
public Message CreateMessage (MessageVersion version, string action, object body, System.Runtime.Serialization.XmlObjectSerializer xmlFormatter serializer)public T GetBody<T> (System.Runtime.Serialization.XmlObjectSerializer xmlFormatter serializer)
Modified constructors:
public MessageEncodingBindingElement (MessageEncodingBindingElement source elementToBeCloned)
Modified methods:
public override T GetProperty<T> (BindingContext ctx context)
Modified methods:
public T GetDetail<T> (System.Runtime.Serialization.XmlObjectSerializer formatter serializer)
Modified methods:
public MessageHeader CreateHeader (string name, string ns, object value, bool must_understand mustUnderstand)public MessageHeader CreateHeader (string name, string ns, object value, System.Runtime.Serialization.XmlObjectSerializer formatter serializer)public MessageHeader CreateHeader (string name, string ns, object value, bool must_understand mustUnderstand, string actor)public MessageHeader CreateHeader (string name, string ns, object value, System.Runtime.Serialization.XmlObjectSerializer formatter serializer, bool must_understand mustUnderstand)public MessageHeader CreateHeader (string name, string ns, object value, bool must_understand mustUnderstand, string actor, bool relay)public MessageHeader CreateHeader (string name, string ns, object value, System.Runtime.Serialization.XmlObjectSerializer formatter serializer, bool must_understand mustUnderstand, string actor)public MessageHeader CreateHeader (string name, string ns, object value, System.Runtime.Serialization.XmlObjectSerializer formatter serializer, bool must_understand mustUnderstand, string actor, bool relay)public virtual bool IsMessageVersionSupported (MessageVersion version messageVersion)protected abstract void OnWriteHeaderContents (System.Xml.XmlDictionaryWriter writer, MessageVersion version messageVersion)protected virtual void OnWriteStartHeader (System.Xml.XmlDictionaryWriter writer, MessageVersion version messageVersion)public void WriteHeader (System.Xml.XmlDictionaryWriter writer, MessageVersion version messageVersion)public void WriteHeader (System.Xml.XmlWriter writer, MessageVersion version messageVersion)protected void WriteHeaderAttributes (System.Xml.XmlDictionaryWriter writer, MessageVersion version messageVersion)public void WriteHeaderContents (System.Xml.XmlDictionaryWriter writer, MessageVersion version messageVersion)public void WriteStartHeader (System.Xml.XmlDictionaryWriter writer, MessageVersion version messageVersion)
Modified methods:
public void CopyHeaderFrom (Message m message, int index headerIndex)public void CopyHeaderFrom (MessageHeaders headers collection, int index headerIndex)public void CopyHeadersFrom (Message m message)public void CopyHeadersFrom (MessageHeaders headers collection)public void CopyTo (MessageHeaderInfo[] dst array, int index)public System.Xml.XmlDictionaryReader GetReaderAtHeader (int index headerIndex)public void Insert (int index headerIndex, MessageHeader header)public void RemoveAt (int index headerIndex)public void WriteHeader (int index headerIndex, System.Xml.XmlDictionaryWriter writer)public void WriteHeader (int index headerIndex, System.Xml.XmlWriter writer)public void WriteHeaderContents (int index headerIndex, System.Xml.XmlDictionaryWriter writer)public void WriteHeaderContents (int index headerIndex, System.Xml.XmlWriter writer)public void WriteStartHeader (int index headerIndex, System.Xml.XmlDictionaryWriter writer)public void WriteStartHeader (int index headerIndex, System.Xml.XmlWriter writer)
Modified methods:
public MessageVersion CreateVersion (System.ServiceModel.EnvelopeVersion envelope_version envelopeVersion)public MessageVersion CreateVersion (System.ServiceModel.EnvelopeVersion envelope_version envelopeVersion, AddressingVersion addressing_version addressingVersion)public override bool Equals (object value obj)
Added properties:
public System.ServiceModel.Security.Tokens.SupportingTokenParameters EndpointSupportingTokenParameters { get; } public System.ServiceModel.MessageSecurityVersion MessageSecurityVersion { get; set; } public SecurityHeaderLayout SecurityHeaderLayout { get; set; }
Added methods:
public static SecurityBindingElement CreateSecureConversationBindingElement (SecurityBindingElement bootstrapSecurity); public static SecurityBindingElement CreateSecureConversationBindingElement (SecurityBindingElement bootstrapSecurity, bool requireCancellation); public static SecurityBindingElement CreateSecureConversationBindingElement (SecurityBindingElement bootstrapSecurity, bool requireCancellation, System.ServiceModel.Security.ChannelProtectionRequirements bootstrapProtectionRequirements);
Added property:
public System.Security.Authentication.SslProtocols SslProtocols { get; set; }
Modified constructors:
protected TcpTransportBindingElement (TcpTransportBindingElement other elementToBeCloned)
Modified constructors:
protected ClientCredentials (ClientCredentials source other)
Added properties:
public System.ServiceModel.Security.X509CertificateInitiatorClientCredential ClientCertificate { get; } public System.ServiceModel.Security.HttpDigestClientCredential HttpDigest { get; } public System.ServiceModel.Security.X509CertificateRecipientClientCredential ServiceCertificate { get; } public System.ServiceModel.Security.WindowsClientCredential Windows { get; }
Modified methods:
public virtual void ApplyClientBehavior (ServiceEndpoint endpoint serviceEndpoint, System.ServiceModel.Dispatcher.ClientRuntime behavior)
Modified methods:
public abstract void AddBindingParameters (ContractDescription description contractDescription, ServiceEndpoint endpoint, System.ServiceModel.Channels.BindingParameterCollection parameters bindingParameters)public abstract void ApplyClientBehavior (ContractDescription description contractDescription, ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.ClientRuntime proxy clientRuntime)public abstract void ApplyDispatchBehavior (ContractDescription description contractDescription, ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.DispatchRuntime dispatch dispatchRuntime)public abstract void Validate (ContractDescription description contractDescription, ServiceEndpoint endpoint)
Modified methods:
public abstract void AddBindingParameters (ServiceEndpoint endpoint, System.ServiceModel.Channels.BindingParameterCollection parameters bindingParameters)public abstract void ApplyClientBehavior (ServiceEndpoint serviceEndpoint endpoint, System.ServiceModel.Dispatcher.ClientRuntime behavior clientRuntime)public abstract void ApplyDispatchBehavior (ServiceEndpoint serviceEndpoint endpoint, System.ServiceModel.Dispatcher.EndpointDispatcher dispatcher endpointDispatcher)public abstract void Validate (ServiceEndpoint serviceEndpoint endpoint)
Modified methods:
public abstract void AddBindingParameters (OperationDescription description operationDescription, System.ServiceModel.Channels.BindingParameterCollection parameters bindingParameters)public abstract void ApplyClientBehavior (OperationDescription description operationDescription, System.ServiceModel.Dispatcher.ClientOperation proxy clientOperation)public abstract void ApplyDispatchBehavior (OperationDescription description operationDescription, System.ServiceModel.Dispatcher.DispatchOperation dispatch dispatchOperation)public abstract void Validate (OperationDescription description operationDescription)
Modified methods:
public abstract object DeserializeReply (System.ServiceModel.Channels.Message message, object[] paremeters parameters)public abstract System.ServiceModel.Channels.Message SerializeRequest (System.ServiceModel.Channels.MessageVersion version messageVersion, object[] inputs parameters)
Modified methods:
public abstract void AfterReceiveReply (ref System.ServiceModel.Channels.Message message reply, object correlationState)public abstract object BeforeSendRequest (ref System.ServiceModel.Channels.Message message request, System.ServiceModel.IClientChannel channel)
public class ChannelProtectionRequirements { // constructors public ChannelProtectionRequirements (); public ChannelProtectionRequirements (ChannelProtectionRequirements other); // properties public ScopedMessagePartSpecification IncomingEncryptionParts { get; } public ScopedMessagePartSpecification IncomingSignatureParts { get; } public bool IsReadOnly { get; } public ScopedMessagePartSpecification OutgoingEncryptionParts { get; } public ScopedMessagePartSpecification OutgoingSignatureParts { get; } // methods public void Add (ChannelProtectionRequirements protectionRequirements); public void Add (ChannelProtectionRequirements protectionRequirements, bool channelScopeOnly); public ChannelProtectionRequirements CreateInverse (); public void MakeReadOnly (); }
public class MessagePartSpecification { // constructors public MessagePartSpecification (); public MessagePartSpecification (bool isBodyIncluded); public MessagePartSpecification (System.Xml.XmlQualifiedName[] headerTypes); public MessagePartSpecification (bool isBodyIncluded, System.Xml.XmlQualifiedName[] headerTypes); // properties public System.Collections.Generic.ICollection<System.Xml.XmlQualifiedName> HeaderTypes { get; } public bool IsBodyIncluded { get; set; } public bool IsReadOnly { get; } public static MessagePartSpecification NoParts { get; } // methods public void Clear (); public void MakeReadOnly (); public void Union (MessagePartSpecification other); }
public class ScopedMessagePartSpecification { // constructors public ScopedMessagePartSpecification (); public ScopedMessagePartSpecification (ScopedMessagePartSpecification other); // properties public System.Collections.Generic.ICollection<string> Actions { get; } public MessagePartSpecification ChannelParts { get; } public bool IsReadOnly { get; } // methods public void AddParts (MessagePartSpecification parts); public void AddParts (MessagePartSpecification parts, string action); public void MakeReadOnly (); public bool TryGetParts (string action, out MessagePartSpecification parts); public bool TryGetParts (string action, bool excludeChannelScope, out MessagePartSpecification parts); }
public sealed class X509CertificateInitiatorClientCredential { // properties public System.Security.Cryptography.X509Certificates.X509Certificate2 Certificate { get; set; } // methods public void SetCertificate (string subjectName, System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName); public void SetCertificate (System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName, System.Security.Cryptography.X509Certificates.X509FindType findType, object findValue); }
public sealed class X509CertificateRecipientClientCredential { // properties public X509ServiceCertificateAuthentication Authentication { get; } public System.Security.Cryptography.X509Certificates.X509Certificate2 DefaultCertificate { get; set; } public System.Collections.Generic.Dictionary<System.Uri,System.Security.Cryptography.X509Certificates.X509Certificate2> ScopedCertificates { get; } public X509ServiceCertificateAuthentication SslCertificateAuthentication { get; set; } // methods public void SetDefaultCertificate (string subjectName, System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName); public void SetDefaultCertificate (System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName, System.Security.Cryptography.X509Certificates.X509FindType findType, object findValue); public void SetScopedCertificate (string subjectName, System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName, System.Uri targetService); public void SetScopedCertificate (System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName, System.Security.Cryptography.X509Certificates.X509FindType findType, object findValue, System.Uri targetService); }
public class X509ServiceCertificateAuthentication { // constructors public X509ServiceCertificateAuthentication (); // properties public X509CertificateValidationMode CertificateValidationMode { get; set; } public System.IdentityModel.Selectors.X509CertificateValidator CustomCertificateValidator { get; set; } public System.Security.Cryptography.X509Certificates.X509RevocationMode RevocationMode { get; set; } public System.Security.Cryptography.X509Certificates.StoreLocation TrustedStoreLocation { get; set; } }
Modified constructors:
public SecureConversationSecurityTokenParameters (System.ServiceModel.Channels.SecurityBindingElement element bootstrapSecurityBindingElement)public SecureConversationSecurityTokenParameters (System.ServiceModel.Channels.SecurityBindingElement element bootstrapSecurityBindingElement, bool requireCancellation)
<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 constructors:
public TransactionScope (TransactionScopeAsyncFlowOption asyncFlow); public TransactionScope (TransactionScopeOption option, TransactionScopeAsyncFlowOption asyncFlow); public TransactionScope (TransactionScopeOption option, System.TimeSpan timeout, TransactionScopeAsyncFlowOption asyncFlow);
<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 methods:
public MusicTrack GetTempoTrack (); public void SetUserCallback (MusicSequenceUserCallback callback);
public sealed delegate MusicSequenceUserCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable { // constructors public MusicSequenceUserCallback (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (MusicTrack track, double inEventTime, MusicEventUserData inEventData, double inStartSliceBeat, double inEndSliceBeat, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (MusicTrack track, double inEventTime, MusicEventUserData inEventData, double inStartSliceBeat, double inEndSliceBeat); }
Added property:
public virtual AUHostTransportStateBlock TransportStateBlock { get; set; }
Added methods:
public static AUInputHandler GetInputHandler (AUAudioUnit This); public static AURenderPullInputBlock GetOutputProvider (AUAudioUnit This); public static void SetInputHandler (AUAudioUnit This, AUInputHandler handler); public static void SetOutputProvider (AUAudioUnit This, AURenderPullInputBlock provider);
Obsoleted methods:
[Obsolete ("Use the AUParameterObserverToken overload")] public virtual void SetValue (float value, IntPtr originator);[Obsolete ("Use the AUParameterObserverToken overload")] public virtual void SetValue (float value, IntPtr originator, ulong hostTime);
Added methods:
public void SetValue (float value, AUParameterObserverToken originator); public void SetValue (float value, AUParameterObserverToken originator, ulong hostTime);
Modified properties:
public virtual AUImplementorStringFromValueCallback ImplementorStringFromValueCallback { get; set; }
Added properties:
public virtual AUImplementorDisplayNameWithLengthCallback ImplementorDisplayNameWithLengthCallback { get; set; } public virtual AUImplementorValueFromStringCallback ImplementorValueFromStringCallback { get; set; }
Obsoleted methods:
[Obsolete ("Use the AUParameterObserverToken overload")] public virtual void RemoveParameterObserver (IntPtr token);[Obsolete ("Use the CreateTokenByAddingParameterObserver instead")] public virtual IntPtr TokenByAddingParameterObserver (AUParameterObserver observer);
Added methods:
public AUParameterObserverToken CreateTokenByAddingParameterObserver (AUParameterObserver observer); public AUParameterObserverToken CreateTokenByAddingParameterRecordingObserver (AUParameterRecordingObserver observer); public void RemoveParameterObserver (AUParameterObserverToken token);<span class='added added-method ' data-is-non-breaking="">[Obsolete ("Use the CreateTokenByAddingParameterRecordingObserver instead")] public virtual IntPtr TokenByAddingParameterRecordingObserver (AUParameterRecordingObserver observer);</span>
public sealed delegate AUHostTransportStateBlock : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable { // constructors public AUHostTransportStateBlock (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (ref AUHostTransportStateFlags transportStateFlags, ref double currentSamplePosition, ref double cycleStartBeatPosition, ref double cycleEndBeatPosition, System.AsyncCallback callback, object object); public virtual bool EndInvoke (ref AUHostTransportStateFlags transportStateFlags, ref double currentSamplePosition, ref double cycleStartBeatPosition, ref double cycleEndBeatPosition, System.IAsyncResult result); public virtual bool Invoke (ref AUHostTransportStateFlags transportStateFlags, ref double currentSamplePosition, ref double cycleStartBeatPosition, ref double cycleEndBeatPosition); }
public sealed delegate AUImplementorDisplayNameWithLengthCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable { // constructors public AUImplementorDisplayNameWithLengthCallback (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (AUParameterNode node, nint desiredLength, System.AsyncCallback callback, object object); public virtual string EndInvoke (System.IAsyncResult result); public virtual string Invoke (AUParameterNode node, nint desiredLength); }
public sealed delegate AUImplementorValueFromStringCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable { // constructors public AUImplementorValueFromStringCallback (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (AUParameter param, string str, System.AsyncCallback callback, object object); public virtual float EndInvoke (System.IAsyncResult result); public virtual float Invoke (AUParameter param, string str); }
public sealed delegate AUInputHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable { // constructors public AUInputHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (ref AudioUnitRenderActionFlags actionFlags, ref AudioToolbox.AudioTimeStamp timestamp, uint frameCount, nint inputBusNumber, System.AsyncCallback callback, object object); public virtual void EndInvoke (ref AudioUnitRenderActionFlags actionFlags, ref AudioToolbox.AudioTimeStamp timestamp, System.IAsyncResult result); public virtual void Invoke (ref AudioUnitRenderActionFlags actionFlags, ref AudioToolbox.AudioTimeStamp timestamp, uint frameCount, nint inputBusNumber); }
public struct AUParameterObserverToken {
// fields
public IntPtr ObserverToken;
}
public sealed delegate AUParameterRecordingObserver : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable { // constructors public AUParameterRecordingObserver (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (nint numberOfEvents, ref AURecordedParameterEvent events, System.AsyncCallback callback, object object); public virtual void EndInvoke (ref AURecordedParameterEvent events, System.IAsyncResult result); public virtual void Invoke (nint numberOfEvents, ref AURecordedParameterEvent events); }
public struct AURecordedParameterEvent { // fields public ulong Address; public ulong HostTime; public float Value; }
public class AdvertisementData : Foundation.DictionaryContainer { // constructors public AdvertisementData (); public AdvertisementData (Foundation.NSDictionary dictionary); // properties public bool? IsConnectable { get; set; } public string LocalName { get; set; } public Foundation.NSData ManufacturerData { get; set; } public CBUUID[] OverflowServiceUuids { get; set; } public Foundation.NSDictionary<CBUUID,Foundation.NSData> ServiceData { get; set; } public CBUUID[] ServiceUuids { get; set; } public CBUUID[] SolicitedServiceUuids { get; set; } public Foundation.NSNumber TxPowerLevel { get; set; } }
public class RestoredState : Foundation.DictionaryContainer { // constructors public RestoredState (); public RestoredState (Foundation.NSDictionary dictionary); // properties public CBPeripheral[] Peripherals { get; set; } public PeripheralScanningOptions ScanOptions { get; set; } public CBPeripheral[] ScanServices { get; set; } }
Added property:
public virtual string RenamingIdentifier { get; set; }
Added method:
public static NSMappingModel GetInferredMappingModel (NSManagedObjectModel source, NSManagedObjectModel destination, out Foundation.NSError error);
Added property:
public virtual string RenamingIdentifier { get; set; }
public class NSExpressionDescription : CoreData.NSPropertyDescription, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> { // constructors public NSExpressionDescription (); public NSExpressionDescription (Foundation.NSCoder coder); protected NSExpressionDescription (Foundation.NSObjectFlag t); protected NSExpressionDescription (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSExpression Expression { get; set; } public virtual NSAttributeType ResultType { get; set; } }
public class NSFetchRequestExpression : Foundation.NSExpression, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> { // constructors public NSFetchRequestExpression (Foundation.NSCoder coder); protected NSFetchRequestExpression (Foundation.NSObjectFlag t); protected NSFetchRequestExpression (IntPtr handle); // properties public override IntPtr ClassHandle { get; } public virtual Foundation.NSExpression Context { get; } public virtual bool IsCountOnly { get; } public virtual Foundation.NSExpression Request { get; } // methods public static NSFetchRequestExpression FromFetch (Foundation.NSExpression fetch, Foundation.NSExpression context, bool countOnly); }
Added interface:
ICMAttachmentBearer
Added methods:
public CMBlockBufferError AppendMemoryBlock (byte[] data, uint offsetToData, CMBlockBufferFlags flags); public CMBlockBufferError CopyDataBytes (uint offsetToData, uint dataLength, out byte[] destination); public static CMBlockBuffer FromMemoryBlock (byte[] data, uint offsetToData, CMBlockBufferFlags flags, out CMBlockBufferError error); public CMBlockBufferError ReplaceDataBytes (byte[] sourceBytes, uint offsetIntoDestination);
public static class CMAttachmentBearer { // methods public static T GetAttachment<T> (ICMAttachmentBearer target, string key, out CMAttachmentMode attachmentModeOut); public static Foundation.NSDictionary GetAttachments (ICMAttachmentBearer target, CMAttachmentMode attachmentMode); public static void PropagateAttachments (ICMAttachmentBearer source, ICMAttachmentBearer destination); public static void RemoveAllAttachments (ICMAttachmentBearer target); public static void RemoveAttachment (ICMAttachmentBearer target, string key); public static void SetAttachment (ICMAttachmentBearer target, string key, ObjCRuntime.INativeObject value, CMAttachmentMode attachmentMode); public static void SetAttachments (ICMAttachmentBearer target, Foundation.NSDictionary theAttachments, CMAttachmentMode attachmentMode); }
[Serializable] public enum CMAttachmentMode { ShouldNotPropagate = 0, ShouldPropagate = 1, }
Added method:
protected Foundation.NSDictionary<TKey,TValue> GetNSDictionary<TKey, TValue> (NSString key);
Obsoleted methods:
[Obsolete ("TKey and TValue are inversed and won't work unless both types are identical. Use the generic overload that takes a count parameter instead")] public static Foundation.NSDictionary<TKey,TValue> FromObjectsAndKeys (TKey[] objects, TValue[] keys);
Added method:
public static Foundation.NSDictionary<TKey,TValue> FromObjectsAndKeys (TValue[] objects, TKey[] keys, nint count);
Added property:
public virtual NSExpressionCallbackHandler Block { get; }
Obsoleted methods:
[Obsolete ("ValueWithObject is deprecated, please use EvaluateWith instead.")] public virtual NSExpression ExpressionValueWithObject (NSObject obj, NSMutableDictionary context);[Obsolete ("FromFormat (string, NSExpression[]) is deprecated, please use FromFormat (string, NSObject[]) instead.")] public static NSExpression FromFormat (string format, NSExpression[] parameters);[Obsolete ("FromFunction (NSExpressionHandler, NSExpression[]) is deprecated, please use FromFunction (NSExpressionCallbackHandler, NSExpression[]) instead.")] public static NSExpression FromFunction (NSExpressionHandler target, NSExpression[] parameters);
Modified methods:
public virtual NSExpression ExpressionValueWithObject (NSObject object1 obj, NSMutableDictionary context)
Added methods:
public virtual NSObject EvaluateWith (NSObject obj, NSMutableDictionary context); public static NSExpression FromFormat (string expressionFormat); public static NSExpression FromFormat (string format, NSObject[] parameters); public static NSExpression FromFunction (NSExpressionCallbackHandler target, NSExpression[] parameters);
Added property:
public virtual NSMutableString MutableString { get; }
Obsoleted methods:
[Obsolete ("TKey and TValue are inversed and won't work unless both types are identical. Use the generic overload that takes a count parameter instead")] public static Foundation.NSMutableDictionary<TKey,TValue> FromObjectsAndKeys (TKey[] objects, TValue[] keys);
Added method:
public static Foundation.NSMutableDictionary<TKey,TValue> FromObjectsAndKeys (TValue[] objects, TKey[] keys, nint count);
Obsoleted fields:
[Obsolete ("Use PlatformAssembly for easier code sharing across platforms")] public static System.Reflection.Assembly MonoTouchAssembly;
Added field:
public static System.Reflection.Assembly PlatformAssembly;
Added property:
public int Port { get; }
Added methods:
public static bool op_Equality (NSUrl x, NSUrl y); public static bool op_Inequality (NSUrl x, NSUrl y);
Added property:
public static NSString DidChangeNotification { get; }
public sealed delegate NSExpressionCallbackHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable { // constructors public NSExpressionCallbackHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (NSObject evaluatedObject, NSExpression[] expressions, NSMutableDictionary context, System.AsyncCallback callback, object object); public virtual NSObject EndInvoke (System.IAsyncResult result); public virtual NSObject Invoke (NSObject evaluatedObject, NSExpression[] expressions, NSMutableDictionary context); }
Modified fields:
public const string Version = "9.8.2" "9.10.0";
Added events:
public event MarshalManagedExceptionHandler MarshalManagedException; public event MarshalObjectiveCExceptionHandler MarshalObjectiveCException;
public class MarshalManagedExceptionEventArgs { // constructors public MarshalManagedExceptionEventArgs (); // properties public System.Exception Exception { get; set; } public MarshalManagedExceptionMode ExceptionMode { get; set; } }
public sealed delegate MarshalManagedExceptionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable { // constructors public MarshalManagedExceptionHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (object sender, MarshalManagedExceptionEventArgs args, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (object sender, MarshalManagedExceptionEventArgs args); }
[Serializable] public enum MarshalManagedExceptionMode { Abort = 3, Default = 0, Disable = 4, ThrowObjectiveCException = 2, UnwindNativeCode = 1, }
public class MarshalObjectiveCExceptionEventArgs { // constructors public MarshalObjectiveCExceptionEventArgs (); // properties public Foundation.NSException Exception { get; set; } public MarshalObjectiveCExceptionMode ExceptionMode { get; set; } }
public sealed delegate MarshalObjectiveCExceptionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable { // constructors public MarshalObjectiveCExceptionHandler (object object, IntPtr method); // methods public virtual System.IAsyncResult BeginInvoke (object sender, MarshalObjectiveCExceptionEventArgs args, System.AsyncCallback callback, object object); public virtual void EndInvoke (System.IAsyncResult result); public virtual void Invoke (object sender, MarshalObjectiveCExceptionEventArgs args); }
<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 methods:
public static void IsInstanceOfType (System.Type expected, object actual); public static void IsInstanceOfType (object anObject, string message, object[] args); public static void IsInstanceOfType (System.Type expected, object actual, string message); public static void IsInstanceOfType (System.Type expected, object actual, string message, object[] args);
Removed constructor:
public NUnitLiteTestAssemblyRunner (NUnit.Framework.Api.ITestAssemblyBuilder builder);
Added constructor:
public NUnitLiteTestAssemblyRunner (NUnit.Framework.Api.ITestAssemblyBuilder builder, FinallyDelegate finallyDelegate);
Removed method:
public virtual WorkItems.WorkItem CreateWorkItem (NUnit.Framework.Api.ITestFilter childFilter);
Added method:
public virtual WorkItems.WorkItem CreateWorkItem (NUnit.Framework.Api.ITestFilter childFilter, FinallyDelegate finD);
Removed method:
public override WorkItems.WorkItem CreateWorkItem (NUnit.Framework.Api.ITestFilter childFilter);
Added method:
public override WorkItems.WorkItem CreateWorkItem (NUnit.Framework.Api.ITestFilter childFilter, FinallyDelegate fd);
Removed method:
public override WorkItems.WorkItem CreateWorkItem (NUnit.Framework.Api.ITestFilter childFilter);
Added method:
public override WorkItems.WorkItem CreateWorkItem (NUnit.Framework.Api.ITestFilter childFilter, FinallyDelegate finD);
Removed constructor:
public CompositeWorkItem (NUnit.Framework.Internal.TestSuite suite, NUnit.Framework.Api.ITestFilter childFilter);
Added constructor:
public CompositeWorkItem (NUnit.Framework.Internal.TestSuite suite, NUnit.Framework.Api.ITestFilter childFilter, NUnit.Framework.Internal.FinallyDelegate fd);
Removed constructors:
public SimpleWorkItem (NUnit.Framework.Internal.Commands.TestCommand command); public SimpleWorkItem (NUnit.Framework.Internal.TestMethod test);
Added constructors:
public SimpleWorkItem (NUnit.Framework.Internal.Commands.TestCommand command, NUnit.Framework.Internal.FinallyDelegate fd); public SimpleWorkItem (NUnit.Framework.Internal.TestMethod test, NUnit.Framework.Internal.FinallyDelegate fd);
Removed constructor:
public WorkItem (NUnit.Framework.Internal.Test test);
Added constructor:
public WorkItem (NUnit.Framework.Internal.Test test, NUnit.Framework.Internal.FinallyDelegate finallyDelegate);
Added field:
protected NUnit.Framework.Internal.FinallyDelegate finD;
<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 properties:
public bool CheckCertificateRevocationList { get; set; } public System.Security.Cryptography.X509Certificates.X509CertificateCollection ClientCertificates { get; } public System.Net.ICredentials DefaultProxyCredentials { get; set; } public int MaxConnectionsPerServer { get; set; } public int MaxResponseHeadersLength { get; set; } public System.Collections.Generic.IDictionary<System.String,System.Object> Properties { get; } public System.Func<HttpRequestMessage,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors,System.Boolean> ServerCertificateCustomValidationCallback { get; set; } public System.Security.Authentication.SslProtocols SslProtocols { get; set; }