示例#1
0
        private static PSObject EncodeCollection(IList collection)
        {
            ArrayList arrayList = new ArrayList();

            foreach (object obj in (IEnumerable)collection)
            {
                arrayList.Add(RemoteHostEncoder.EncodeObject(obj));
            }
            return(new PSObject((object)arrayList));
        }
示例#2
0
        private static PSObject EncodeParameters(object[] parameters)
        {
            ArrayList arrayList = new ArrayList();

            for (int index = 0; index < parameters.Length; ++index)
            {
                object obj = parameters[index] == null ? (object)null : RemoteHostEncoder.EncodeObject(parameters[index]);
                arrayList.Add(obj);
            }
            return(new PSObject((object)arrayList));
        }
示例#3
0
        private static PSObject EncodeParameters(object[] parameters)
        {
            ArrayList list = new ArrayList();

            for (int i = 0; i < parameters.Length; i++)
            {
                object obj2 = (parameters[i] == null) ? null : RemoteHostEncoder.EncodeObject(parameters[i]);
                list.Add(obj2);
            }
            return(new PSObject(list));
        }
示例#4
0
        /// <summary>
        /// Encode parameters.
        /// </summary>
        private static PSObject EncodeParameters(object[] parameters)
        {
            // Encode the parameters and wrap the array into an ArrayList and then into a PSObject.
            ArrayList parameterList = new ArrayList();

            for (int i = 0; i < parameters.Length; ++i)
            {
                object parameter = parameters[i] == null ? null : RemoteHostEncoder.EncodeObject(parameters[i]);
                parameterList.Add(parameter);
            }

            return(new PSObject(parameterList));
        }
示例#5
0
        private static PSObject EncodeDictionary(IDictionary dictionary)
        {
            if (RemoteHostEncoder.IsObjectDictionaryType(dictionary.GetType()))
            {
                return(RemoteHostEncoder.EncodeObjectDictionary(dictionary));
            }
            Hashtable hashtable = new Hashtable();

            foreach (object key in (IEnumerable)dictionary.Keys)
            {
                hashtable.Add(RemoteHostEncoder.EncodeObject(key), RemoteHostEncoder.EncodeObject(dictionary[key]));
            }
            return(new PSObject((object)hashtable));
        }
示例#6
0
        private static PSObject EncodeClassOrStruct(object obj)
        {
            PSObject emptyPsObject = RemotingEncoder.CreateEmptyPSObject();

            foreach (FieldInfo field in obj.GetType().GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
            {
                object obj1 = field.GetValue(obj);
                if (obj1 != null)
                {
                    object obj2 = RemoteHostEncoder.EncodeObject(obj1);
                    emptyPsObject.Properties.Add((PSPropertyInfo) new PSNoteProperty(field.Name, obj2));
                }
            }
            return(emptyPsObject);
        }