77 lines
2.3 KiB
C#
77 lines
2.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.Remoting.Activation;
|
|
|
|
namespace System.Runtime.Remoting.Messaging
|
|
{
|
|
// Token: 0x020003E3 RID: 995
|
|
internal class ConstructionCallDictionary : MethodDictionary
|
|
{
|
|
// Token: 0x060026EF RID: 9967 RVA: 0x00080508 File Offset: 0x0007E708
|
|
public ConstructionCallDictionary(IConstructionCallMessage message)
|
|
: base(message)
|
|
{
|
|
base.MethodKeys = ConstructionCallDictionary.InternalKeys;
|
|
}
|
|
|
|
// Token: 0x060026F1 RID: 9969 RVA: 0x00080590 File Offset: 0x0007E790
|
|
protected override object GetMethodProperty(string key)
|
|
{
|
|
switch (key)
|
|
{
|
|
case "__Activator":
|
|
return ((IConstructionCallMessage)this._message).Activator;
|
|
case "__CallSiteActivationAttributes":
|
|
return ((IConstructionCallMessage)this._message).CallSiteActivationAttributes;
|
|
case "__ActivationType":
|
|
return ((IConstructionCallMessage)this._message).ActivationType;
|
|
case "__ContextProperties":
|
|
return ((IConstructionCallMessage)this._message).ContextProperties;
|
|
case "__ActivationTypeName":
|
|
return ((IConstructionCallMessage)this._message).ActivationTypeName;
|
|
}
|
|
return base.GetMethodProperty(key);
|
|
}
|
|
|
|
// Token: 0x060026F2 RID: 9970 RVA: 0x00080688 File Offset: 0x0007E888
|
|
protected override void SetMethodProperty(string key, object value)
|
|
{
|
|
if (key != null)
|
|
{
|
|
if (ConstructionCallDictionary.<>f__switch$map24 == null)
|
|
{
|
|
ConstructionCallDictionary.<>f__switch$map24 = new Dictionary<string, int>(5)
|
|
{
|
|
{ "__Activator", 0 },
|
|
{ "__CallSiteActivationAttributes", 1 },
|
|
{ "__ActivationType", 1 },
|
|
{ "__ContextProperties", 1 },
|
|
{ "__ActivationTypeName", 1 }
|
|
};
|
|
}
|
|
int num;
|
|
if (ConstructionCallDictionary.<>f__switch$map24.TryGetValue(key, out num))
|
|
{
|
|
if (num == 0)
|
|
{
|
|
((IConstructionCallMessage)this._message).Activator = (IActivator)value;
|
|
return;
|
|
}
|
|
if (num == 1)
|
|
{
|
|
throw new ArgumentException("key was invalid");
|
|
}
|
|
}
|
|
}
|
|
base.SetMethodProperty(key, value);
|
|
}
|
|
|
|
// Token: 0x04000F39 RID: 3897
|
|
public static string[] InternalKeys = new string[]
|
|
{
|
|
"__Uri", "__MethodName", "__TypeName", "__MethodSignature", "__Args", "__CallContext", "__CallSiteActivationAttributes", "__ActivationType", "__ContextProperties", "__Activator",
|
|
"__ActivationTypeName"
|
|
};
|
|
}
|
|
}
|