This documentation is archived and is not being maintained.

BinaryFormatter.UnsafeDeserialize Method

Deserializes the specified stream into an object graph. The provided HeaderHandler handles any headers in that stream.

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

[ComVisibleAttribute(false)]
[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)]
public Object UnsafeDeserialize(
	Stream serializationStream,
	HeaderHandler handler
)

Parameters

serializationStream
Type: System.IO.Stream

The stream from which to deserialize the object graph.

handler
Type: System.Runtime.Remoting.Messaging.HeaderHandler

The HeaderHandler that handles any headers in the serializationStream. Can be null.

Return Value

Type: System.Object
The deserialized object or the top object (root) of the object graph.

ExceptionCondition
ArgumentNullException

The serializationStream is null.

SerializationException

The serializationStream supports seeking, but its length is 0.

SecurityException

The caller does not have the required permission.

Headers are used only for specific remoting applications.

This method uses SecurityAction.LinkDemand to prevent it from being called from untrusted code; only the immediate caller is required to have SecurityPermissionAttribute.SerializationFormatter permission. Do not use this method if your code can be called from partially trusted code. In partially trusted scenarios, use Deserialize instead. In full trust scenarios, UnsafeDeserialize provides better performance than Deserialize.

For successful deserialization, the current position in the stream must be at the beginning of the object graph.

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

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

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1
Show: