Edit

Share via


XmlMessageFormatter.TargetTypeNames Property

Definition

Specifies the set of possible types that will be deserialized by the formatter from the message provided.

public:
 property cli::array <System::String ^> ^ TargetTypeNames { cli::array <System::String ^> ^ get(); void set(cli::array <System::String ^> ^ value); };
[System.Messaging.MessagingDescription("XmlMsgTargetTypeNames")]
public string[] TargetTypeNames { get; set; }
[<System.Messaging.MessagingDescription("XmlMsgTargetTypeNames")>]
member this.TargetTypeNames : string[] with get, set
Public Property TargetTypeNames As String()

Property Value

String[]

An array of type String that specifies the types of objects to deserialize from the message body when reading the message.

Attributes

Exceptions

The TargetTypeNames property is null.

Remarks

Both the TargetTypeNames and TargetTypes properties tell the formatter what schemas to attempt to match when deserializing a message. This allows the formatter to interpret the message body.

The instance serialized in the message body must comply with one of the schemas represented in the type array. When you read the message using the Receive method, the method creates an object of the type that corresponds to the schema identified and reads the message body into it.

Only one of the two properties needs to be set when reading from the queue, but you can set both. The set of types is the combined set from the two properties. The decision of which property to use is specific to your application. If the message body contains a type whose schema does not match any of the types in the array for either property, an exception will be thrown when the message is read.

TargetTypeNames requires every entry to be fully qualified, specifying its assembly name. Further, when working with multiple concurrent versions, the version number must also be appended to the target type name as well.

The target types are only required when reading from the queue. The TargetTypeNames and TargetTypes properties do not need to be set to write to the queue.

Applies to

See also