Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
MSDN Library

MarshalAsAttribute.MarshalTypeRef Field

Implements MarshalAsAttribute.MarshalType as a type.

Namespace:  System.Runtime.InteropServices
Assemblies:   mscorlib (in mscorlib.dll)
  System.Runtime.InteropServices (in System.Runtime.InteropServices.dll)

[ComVisibleAttribute(true)]
public Type MarshalTypeRef

You can use either the MarshalTypeRef or MarshalType field to specify a custom marshaler type for the attributed parameter, field, or return type. The MarshalTypeRef field allows easier usage of MarshalType by shortening the syntax. In the following example, the first line represents syntax using MarshalType and the second line represents syntax using MarshalTypeRef.

[MarshalAs(UnmanagedType.CustomMarshaler, MarshalType = "Assembly, NameSpace.TypeName")] 
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NameSpace.TypeName)]

You can set a Type object using typeof in C#, GetType in Visual Basic, or typeid in C++. For additional information about creating and using custom marshalers, see Custom Marshaling.

.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
Show:
© 2015 Microsoft