This topic has not yet been rated - Rate this topic

FormatterServices.GetSafeUninitializedObject Method

Creates a new instance of the specified object type.

Namespace:  System.Runtime.Serialization
Assembly:  mscorlib (in mscorlib.dll)
public static Object GetSafeUninitializedObject(
	Type type
)

Parameters

type
Type: System.Type
The type of object to create.

Return Value

Type: System.Object
A zeroed object of the specified type.
Exception Condition
ArgumentNullException

The type parameter is null.

SerializationException

The type parameter is not a valid common language runtime type.

SecurityException

The caller does not have the required permission.

Because the new instance of the object is initialized to zero and no constructors are run, the object might not represent a state that is regarded as valid by that object. GetSafeUninitializedObject should only be used for deserialization when the user intends to immediately populate all fields. It does not create an uninitialized string, since creating an empty instance of an immutable type serves no purpose.

GetSafeUninitializedObject converts all class level Link Demands to Demands to ensure that all direct and indirect callers have the permissions that the demand specifies. Use GetSafeUninitializedObject to increase the level of security when deserializing from a partially trusted source. For better performance in full trust scenarios, use GetUninitializedObject.

.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ