This documentation is archived and is not being maintained.

OnDeserializingAttribute Class

Note: This class is new in the .NET Framework version 2.0.

When applied to a method, specifies that the method is called during deserialization of an object.

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

[ComVisibleAttribute(true)] 
[AttributeUsageAttribute(AttributeTargets::Method, Inherited=false)] 
public ref class OnDeserializingAttribute sealed : public Attribute
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute AttributeUsageAttribute(AttributeTargets.Method, Inherited=false) */ 
public final class OnDeserializingAttribute extends Attribute
ComVisibleAttribute(true) 
AttributeUsageAttribute(AttributeTargets.Method, Inherited=false) 
public final class OnDeserializingAttribute extends Attribute

Use the OnDeserializingAttribute to set default values during deserialization. For example, if the type that you are deserializing does not contain a constructor, create a method to set values of any fields in the instance and apply the attribute to the method.

To use the OnDeserializingAttribute, the method must contain a StreamingContext parameter. The attribute marks the method to be called by the serialization infrastructure and the StreamingContext provides additional data about the type of serialization taking place. The usage is shown in the following code:

\\ C#
[OnDeserializingAttribute()]
internal void RunThisMethod(StreamingContext context)
{ 
    // Code not shown.
}
' Visual Basic
<OnDeserializingAttribute()> _
Private Sub RunThisMethod(context As StreamingContext)
    ' Code not shown.
End Sub
NoteNote

In your code, you can use the word OnDeserializing instead of the longer OnDeserializingAttribute.

The following example applies the OnDeserializedAttribute, OnSerializingAttribute, OnSerializedAttribute, and OnDeserializingAttribute attributes to methods in a class.

No code example is currently available or this language may not be supported.

System.Object
   System.Attribute
    System.Runtime.Serialization.OnDeserializingAttribute

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0
Show: