Update Reference Sources to .NET Framework 4.6
[mono.git] / mcs / class / referencesource / System / net / System / Net / ProtocolViolationException.cs
1 //------------------------------------------------------------------------------
2 // <copyright file="ProtocolViolationException.cs" company="Microsoft">
3 //     Copyright (c) Microsoft Corporation.  All rights reserved.
4 // </copyright>                                                                
5 //------------------------------------------------------------------------------
6
7 namespace System.Net {
8     using System.Diagnostics.CodeAnalysis;
9     using System.Runtime.Serialization;
10     using System.Security.Permissions;
11     
12     /// <devdoc>
13     ///    <para>
14     ///       An exception class used when an attempt is made to use an invalid
15     ///       protocol.
16     ///    </para>
17     /// </devdoc>
18     [Serializable]
19     public class ProtocolViolationException : InvalidOperationException, ISerializable {
20         /// <devdoc>
21         ///    <para>
22         ///       Creates a new instance of the <see cref='System.Net.ProtocolViolationException'/>class.
23         ///    </para>
24         /// </devdoc>
25         public ProtocolViolationException() : base() {
26         }
27
28         /// <devdoc>
29         ///    <para>
30         ///       Creates a new instance of the <see cref='System.Net.ProtocolViolationException'/>
31         ///       class with the specified message.
32         ///    </para>
33         /// </devdoc>
34         public ProtocolViolationException(string message) : base(message) {
35         }
36
37         protected ProtocolViolationException(SerializationInfo serializationInfo, StreamingContext streamingContext)
38             : base(serializationInfo, streamingContext) {
39         }
40
41         /// <internalonly/>
42
43         [SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase", Justification = "System.dll is still using pre-v4 security model and needs this demand")]
44         [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter, SerializationFormatter=true)]
45         void ISerializable.GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext) {
46             base.GetObjectData(serializationInfo, streamingContext);
47         }
48
49
50         [SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase", Justification = "System.dll is still using pre-v4 security model and needs this demand")]
51         [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)]           
52         public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext)
53         {
54             base.GetObjectData(serializationInfo, streamingContext);
55         }
56     }; // class ProtocolViolationException
57
58
59 } // namespace System.Net