The Labs \ Source Viewer \ SSCLI \ System \ Empty

  1. // ==++==
  2. //
  3. //
  4. // Copyright (c) 2006 Microsoft Corporation. All rights reserved.
  5. //
  6. // The use and distribution terms for this software are contained in the file
  7. // named license.txt, which can be found in the root of this distribution.
  8. // By using this software in any fashion, you are agreeing to be bound by the
  9. // terms of this license.
  10. //
  11. // You must not remove this notice, or any other, from this software.
  12. //
  13. //
  14. // ==--==
  15. ////////////////////////////////////////////////////////////////////////////////
  16. // Empty
  17. // This class represents an empty variant
  18. ////////////////////////////////////////////////////////////////////////////////
  19. namespace System
  20. {
  21.    
  22.     using System;
  23.     using System.Runtime.Remoting;
  24.     using System.Runtime.Serialization;
  25.    
  26.     [Serializable()]
  27.     internal sealed class Empty : ISerializable
  28.     {
  29.         private Empty()
  30.         {
  31.         }
  32.        
  33.         public static readonly Empty Value = new Empty();
  34.        
  35.         public override string ToString()
  36.         {
  37.             return String.Empty;
  38.         }
  39.        
  40.         public void GetObjectData(SerializationInfo info, StreamingContext context)
  41.         {
  42.             if (info == null) {
  43.                 throw new ArgumentNullException("info");
  44.             }
  45.             UnitySerializationHolder.GetUnitySerializationInfo(info, UnitySerializationHolder.EmptyUnity, null, null);
  46.         }
  47.     }
  48. }

Developer Fusion