mscorlib(4.0.0.0) API with additions
ActivationArguments.cs
3 
5 {
7  [Serializable]
8  [ComVisible(true)]
9  public sealed class ActivationArguments : EvidenceBase
10  {
11  private bool m_useFusionActivationContext;
12 
13  private bool m_activateInstance;
14 
15  private string m_appFullName;
16 
17  private string[] m_appManifestPaths;
18 
19  private string[] m_activationData;
20 
21  internal bool UseFusionActivationContext => m_useFusionActivationContext;
22 
23  internal bool ActivateInstance
24  {
25  get
26  {
27  return m_activateInstance;
28  }
29  set
30  {
31  m_activateInstance = value;
32  }
33  }
34 
35  internal string ApplicationFullName => m_appFullName;
36 
37  internal string[] ApplicationManifestPaths => m_appManifestPaths;
38 
42 
46  {
47  get
48  {
49  if (!UseFusionActivationContext)
50  {
51  return null;
52  }
53  if (m_appManifestPaths == null)
54  {
55  return new ActivationContext(new ApplicationIdentity(m_appFullName));
56  }
57  return new ActivationContext(new ApplicationIdentity(m_appFullName), m_appManifestPaths);
58  }
59  }
60 
63  public string[] ActivationData => m_activationData;
64 
65  private ActivationArguments()
66  {
67  }
68 
73  public ActivationArguments(ApplicationIdentity applicationIdentity)
74  : this(applicationIdentity, null)
75  {
76  }
77 
83  public ActivationArguments(ApplicationIdentity applicationIdentity, string[] activationData)
84  {
85  if (applicationIdentity == null)
86  {
87  throw new ArgumentNullException("applicationIdentity");
88  }
89  m_appFullName = applicationIdentity.FullName;
90  m_activationData = activationData;
91  }
92 
97  public ActivationArguments(ActivationContext activationData)
98  : this(activationData, null)
99  {
100  }
101 
107  public ActivationArguments(ActivationContext activationContext, string[] activationData)
108  {
109  if (activationContext == null)
110  {
111  throw new ArgumentNullException("activationContext");
112  }
113  m_appFullName = activationContext.Identity.FullName;
114  m_appManifestPaths = activationContext.ManifestPaths;
115  m_activationData = activationData;
116  m_useFusionActivationContext = true;
117  }
118 
119  internal ActivationArguments(string appFullName, string[] appManifestPaths, string[] activationData)
120  {
121  if (appFullName == null)
122  {
123  throw new ArgumentNullException("appFullName");
124  }
125  m_appFullName = appFullName;
126  m_appManifestPaths = appManifestPaths;
127  m_activationData = activationData;
128  m_useFusionActivationContext = true;
129  }
130 
133  public override EvidenceBase Clone()
134  {
135  ActivationArguments activationArguments = new ActivationArguments();
136  activationArguments.m_useFusionActivationContext = m_useFusionActivationContext;
137  activationArguments.m_activateInstance = m_activateInstance;
138  activationArguments.m_appFullName = m_appFullName;
139  if (m_appManifestPaths != null)
140  {
141  activationArguments.m_appManifestPaths = new string[m_appManifestPaths.Length];
142  Array.Copy(m_appManifestPaths, activationArguments.m_appManifestPaths, activationArguments.m_appManifestPaths.Length);
143  }
144  if (m_activationData != null)
145  {
146  activationArguments.m_activationData = new string[m_activationData.Length];
147  Array.Copy(m_activationData, activationArguments.m_activationData, activationArguments.m_activationData.Length);
148  }
149  activationArguments.m_activateInstance = m_activateInstance;
150  activationArguments.m_appFullName = m_appFullName;
151  activationArguments.m_useFusionActivationContext = m_useFusionActivationContext;
152  return activationArguments;
153  }
154  }
155 }
The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method th...
Identifies the activation context for the current application. This class cannot be inherited.
Definition: __Canon.cs:3
string [] ActivationData
Gets activation data from the host.
ApplicationIdentity Identity
Gets the application identity for the current application.
ActivationArguments(ActivationContext activationContext, string[] activationData)
Initializes a new instance of the T:System.Runtime.Hosting.ActivationArguments class with the specifi...
Provides a base class from which all objects to be used as evidence must derive.
Definition: EvidenceBase.cs:12
override EvidenceBase Clone()
Produces a copy of the current T:System.Runtime.Hosting.ActivationArguments object.
ApplicationIdentity ApplicationIdentity
Gets the application identity for a manifest-activated application.
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition: Array.cs:17
ActivationArguments(ApplicationIdentity applicationIdentity, string[] activationData)
Initializes a new instance of the T:System.Runtime.Hosting.ActivationArguments class with the specifi...
Provides data for manifest-based activation of an application. This class cannot be inherited.
static void Copy(Array sourceArray, Array destinationArray, int length)
Copies a range of elements from an T:System.Array starting at the first element and pastes them into ...
Definition: Array.cs:1275
Provides the ability to uniquely identify a manifest-activated application. This class cannot be inhe...
ActivationContext ActivationContext
Gets the activation context for manifest-based activation of an application.
ActivationArguments(ActivationContext activationData)
Initializes a new instance of the T:System.Runtime.Hosting.ActivationArguments class with the specifi...
ActivationArguments(ApplicationIdentity applicationIdentity)
Initializes a new instance of the T:System.Runtime.Hosting.ActivationArguments class with the specifi...
string FullName
Gets the full name of the application.