Castle.ManagementExtensions.Default.MInspector.SetupManagedOperations C# (CSharp) Method

SetupManagedOperations() private static method

private static SetupManagedOperations ( ManagementInfo info, Object instance ) : void
info ManagementInfo
instance Object
return void
		private static void SetupManagedOperations(ManagementInfo info, Object instance)
		{
			MethodInfo[] methods = instance.GetType().GetMethods(BindingFlags.Public|BindingFlags.Instance);

			foreach(MethodInfo minfo in methods)
			{
				if (minfo.IsDefined( typeof(ManagedOperationAttribute), true ))
				{
					object[] atts = minfo.GetCustomAttributes( typeof(ManagedOperationAttribute), true );

					ManagedOperationAttribute att = (ManagedOperationAttribute) atts[0];

					ParameterInfo[] parameters = minfo.GetParameters();

					Type[] arguments = new Type[ parameters.Length ];

					for(int i=0 ; i < parameters.Length; i++ )
					{
						arguments[i] = parameters[i].ParameterType;
					}

					ManagementOperation operation = new ManagementOperation(minfo.Name, att.Description, arguments);

					info.Operations.Add(operation);
				}
			}
		}