Beispiel #1
0
		private static void PopulatePSComputerName(ActivityImplementationContext implementationContext, NativeActivityContext context, PSActivityArgumentInfo field, int index)
		{
			PropertyInfo property = implementationContext.GetType().GetProperty(field.Name);
			string[] strArrays = (string[])field.Value.Get(context);
			string[] strArrays1 = new string[1];
			strArrays1[0] = strArrays[index];
			property.SetValue(implementationContext, strArrays1, null);
		}
Beispiel #2
0
		private void PopulateActivityImplementationContext(ActivityImplementationContext implementationContext, NativeActivityContext context, int index)
		{
			foreach (PSActivityArgumentInfo activityArgument in this.GetActivityArguments())
			{
				PropertyInfo property = implementationContext.GetType().GetProperty(activityArgument.Name);
				if (property != null)
				{
					if (!string.Equals(activityArgument.Name, "PSComputerName", StringComparison.OrdinalIgnoreCase) || index == -1)
					{
						property.SetValue(implementationContext, activityArgument.Value.Get(context), null);
					}
					else
					{
						PSActivity.PopulatePSComputerName(implementationContext, context, activityArgument, index);
					}
				}
				else
				{
					throw new Exception(string.Concat("Could not find corresponding task context field for activity argument: ", activityArgument.Name));
				}
			}
		}