2 // System.Runtime.Remoting.Messaging.ConstructionCallDictionary.cs
4 // Author: Lluis Sanchez Gual (lluis@ideary.com)
6 // (C) 2003, Lluis Sanchez Gual
10 using System.Runtime.Remoting.Activation;
\r
12 namespace System.Runtime.Remoting.Messaging
\r
14 class ConstructionCallDictionary : MethodDictionary
\r
16 public static string[] InternalKeys = new string[] {"__Uri", "__MethodName", "__TypeName", "__MethodSignature", "__Args", "__CallContext", "__CallSiteActivationAttributes", "__ActivationType", "__ContextProperties", "__Activator", "__ActivationTypeName"};
\r
18 public ConstructionCallDictionary(IConstructionCallMessage message) : base (message)
\r
20 MethodKeys = InternalKeys;
\r
23 protected override object GetMethodProperty (string key)
27 case "__Activator" : return ((IConstructionCallMessage)_message).Activator;
28 case "__CallSiteActivationAttributes" : return ((IConstructionCallMessage)_message).CallSiteActivationAttributes;
29 case "__ActivationType" : return ((IConstructionCallMessage)_message).ActivationType;
30 case "__ContextProperties" : return ((IConstructionCallMessage)_message).ContextProperties;
31 case "__ActivationTypeName" : return ((IConstructionCallMessage)_message).ActivationTypeName;
32 default : return base.GetMethodProperty (key);
36 protected override void SetMethodProperty (string key, object value)
40 case "__Activator": ((IConstructionCallMessage)_message).Activator = (IActivator) value; break;
42 case "__CallSiteActivationAttributes":
43 case "__ActivationType":
44 case "__ContextProperties":
45 case "__ActivationTypeName": throw new ArgumentException ("key was invalid");
47 default: base.SetMethodProperty (key, value); break;