Edit

Share via


IMessage.Properties Property

Definition

Gets an IDictionary that represents a collection of the message's properties.

public:
 property System::Collections::IDictionary ^ Properties { System::Collections::IDictionary ^ get(); };
public System.Collections.IDictionary Properties { get; }
public System.Collections.IDictionary Properties { [System.Security.SecurityCritical] get; }
member this.Properties : System.Collections.IDictionary
[<get: System.Security.SecurityCritical>]
member this.Properties : System.Collections.IDictionary
Public ReadOnly Property Properties As IDictionary

Property Value

A dictionary that represents a collection of the message's properties.

Attributes

Exceptions

The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.

Examples

Console::WriteLine( "Message Properties" );
IDictionary^ myDictionary = myMesg->Properties;
IDictionaryEnumerator^ myEnum = dynamic_cast<IDictionaryEnumerator^>(myDictionary->GetEnumerator());
while ( myEnum->MoveNext() )
{
   Object^ myKey = myEnum->Key;
   String^ myKeyName = myKey->ToString();
   Object^ myValue = myEnum->Value;
   Console::WriteLine( "{0} : {1}", myKeyName, myEnum->Value );
   if ( myKeyName->Equals( "__Args" ) )
   {
      array<Object^>^myArgs = (array<Object^>^)myValue;
      for ( int myInt = 0; myInt < myArgs->Length; myInt++ )
         Console::WriteLine( "arg: {0} myValue: {1}", myInt, myArgs[ myInt ] );
   }

   if ( (myKeyName->Equals( "__MethodSignature" )) && (nullptr != myValue) )
   {
      array<Object^>^myArgs = (array<Object^>^)myValue;
      for ( int myInt = 0; myInt < myArgs->Length; myInt++ )
         Console::WriteLine( "arg: {0} myValue: {1}", myInt, myArgs[ myInt ] );
   }
}

Console::WriteLine( "myUrl1 {0} object URI{1}", myUrl, myObjectURI );
myDictionary->default[ "__Uri" ] = myUrl;
Console::WriteLine( "URI {0}", myDictionary->default[ "__URI" ] );
Console.WriteLine("Message Properties");
IDictionary myDictionary = myMesg.Properties;
IDictionaryEnumerator myEnum = (IDictionaryEnumerator) myDictionary.GetEnumerator();

while (myEnum.MoveNext())
{
   object myKey = myEnum.Key;
   string myKeyName = myKey.ToString();
   object myValue = myEnum.Value;

   Console.WriteLine("{0} : {1}", myKeyName, myEnum.Value);
   if (myKeyName == "__Args")
   {
      object[] myArgs = (object[])myValue;
      for (int myInt = 0; myInt < myArgs.Length; myInt++)
         Console.WriteLine("arg: {0} myValue: {1}", myInt, myArgs[myInt]);
   }

   if ((myKeyName == "__MethodSignature") && (null != myValue))
   {
      object[] myArgs = (object[])myValue;
      for (int myInt = 0; myInt < myArgs.Length; myInt++)
         Console.WriteLine("arg: {0} myValue: {1}", myInt, myArgs[myInt]);
   }
}

Console.WriteLine("myUrl1 {0} object URI{1}",myUrl,myObjectURI);

myDictionary["__Uri"] = myUrl;
Console.WriteLine("URI {0}", myDictionary["__URI"]);
Console.WriteLine("Message Properties")
Dim myDictionary As IDictionary = myMesg.Properties
Dim myEnum As IDictionaryEnumerator = CType(myDictionary.GetEnumerator(), IDictionaryEnumerator)

While myEnum.MoveNext()
   Dim myKey As Object = myEnum.Key
   Dim myKeyName As String = myKey.ToString()
   Dim myValue As Object = myEnum.Value

   Console.WriteLine( "{0} : {1}", myKeyName, myEnum.Value)
   If myKeyName = "__Args" Then
      Dim myArgs As Object() = CType(myValue, Object())
      Dim myInt As Integer
      For myInt = 0 To myArgs.Length - 1
         Console.WriteLine(  "arg: {0} myValue: {1}", myInt, myArgs(myInt))
      Next myInt
   End If
   If myKeyName = "__MethodSignature" And Not (myValue Is Nothing) Then
      Dim myArgs As Object() = CType(myValue, Object())
      Dim myInt As Integer
      For myInt = 0 To myArgs.Length - 1
         Console.WriteLine("arg: {0} myValue: {1}", myInt, myArgs(myInt))
      Next myInt
   End If
End While

Console.WriteLine("myUrl1 {0} object URI{1}", myUrl, myObjectURI)

myDictionary("__Uri") = myUrl
Console.WriteLine("URI {0}", myDictionary("__URI"))

Applies to