Type::IsSerializable Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets a value indicating whether the Type is serializable.

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

property bool IsSerializable {
	virtual bool 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 namespace System;
public ref class MyClass

   // Declare a public class with the [Serializable] attribute.

   ref class MyTestClass{};


int main()
      bool myBool = false;
      MyClass::MyTestClass^ myTestClassInstance = gcnew MyClass::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 );
   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