Merge branch 'alexischr/nursery-canaries-managed-alloc'
[mono.git] / mcs / class / System / System.Net.Mail / SmtpFailedRecipientException.cs
index 6c4d9877a1b201055260b933e6f6438470181633..c4dbe9c03416f9904074d69539bdbdb77c6e4b8c 100644 (file)
@@ -28,8 +28,6 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if NET_2_0
-
 using System;
 using System.Collections;
 using System.Runtime.Serialization;
@@ -54,9 +52,12 @@ namespace System.Net.Mail {
                {
                }
 
-               [MonoTODO]
                protected SmtpFailedRecipientException (SerializationInfo serializationInfo, StreamingContext streamingContext)
+                       : base (serializationInfo, streamingContext)
                {
+                       if (serializationInfo == null)
+                               throw new ArgumentNullException ("serializationInfo");
+                       failedRecipient = serializationInfo.GetString ("failedRecipient");
                }
 
                public SmtpFailedRecipientException (SmtpStatusCode statusCode, string failedRecipient) : base (statusCode)
@@ -90,18 +91,19 @@ namespace System.Net.Mail {
 
                #region Methods
 
-               [MonoTODO]
                public override void GetObjectData (SerializationInfo serializationInfo, StreamingContext streamingContext)
                {
+                       if (serializationInfo == null)
+                               throw new ArgumentNullException ("serializationInfo");
+                       base.GetObjectData (serializationInfo, streamingContext);
+                       serializationInfo.AddValue ("failedRecipient", failedRecipient);
                }
-
-               [MonoTODO]
                void ISerializable.GetObjectData (SerializationInfo serializationInfo, StreamingContext streamingContext)
                {
+                       GetObjectData (serializationInfo, streamingContext);
                }
 
                #endregion // Methods
        }
 }
 
-#endif // NET_2_0