IsSerializable Property

Type.IsSerializable Property


Gets a value indicating whether the Type is serializable.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public virtual bool IsSerializable { get; }

Property Value

Type: System.Boolean

true if the Type is serializable; otherwise, false.

If the current Type represents a constructed generic type, this property applies to the generic type definition from which the type was constructed. For example, if the current Type represents MyGenericType<int> (MyGenericType(Of Integer) in Visual Basic), the value of this property is determined by MyGenericType<T>.

If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns false.

The following example creates an instance of MyTestClass class, sets the [Serializable] attribute, and checks the IsSerializable property for true or false.

using System;
namespace SystemType
    public class MyClass
        // Declare a public class with the [Serializable] attribute.
        [Serializable] public class MyTestClass 
        public static void Main(string []args)
                bool myBool = false;
                MyTestClass myTestClassInstance = new MyTestClass();
                // Get the type of myTestClassInstance.
                Type myType = myTestClassInstance.GetType();
                // Get the IsSerializable property of myTestClassInstance.
                myBool = myType.IsSerializable;
                Console.WriteLine("\nIs {0} serializable? {1}.", myType.FullName, myBool.ToString());
            catch (Exception e)
                Console.WriteLine("\nAn exception occurred: {0}", e.Message);

.NET Framework
Available since 1.1
Windows Phone Silverlight
Available since 8.0
Return to top
© 2015 Microsoft