예제 #1
0
            public DictionaryEnumerator(MethodDictionary methodDictionary)
            {
                this._methodDictionary = methodDictionary;
                IDictionaryEnumerator hashtableEnum;

                if (this._methodDictionary._internalProperties != null)
                {
                    IDictionaryEnumerator enumerator = this._methodDictionary._internalProperties.GetEnumerator();
                    hashtableEnum = enumerator;
                }
                else
                {
                    hashtableEnum = null;
                }
                this._hashtableEnum = hashtableEnum;
                this._posMethod     = -1;
            }
        // Helper to marshal properties
        internal static int MarshalProperties(IDictionary dict, ref ArrayList args)
        {
            IDictionary serDict = dict;
            int         count   = 0;

            MethodDictionary msgDict = dict as MethodDictionary;

            if (null != msgDict)
            {
                if (msgDict.HasInternalProperties)
                {
                    serDict = msgDict.InternalProperties;
                    if (null != serDict)
                    {
                        foreach (DictionaryEntry e in serDict)
                        {
                            if (null == args)
                            {
                                args = new ArrayList();
                            }
                            args.Add(e);
                            count++;
                        }
                    }
                }
            }
            else
            {
                if (null != dict)
                {
                    foreach (DictionaryEntry e in serDict)
                    {
                        if (null == args)
                        {
                            args = new ArrayList();
                        }
                        args.Add(e);
                        count++;
                    }
                }
            }

            return(count);
        }
예제 #3
0
        internal static int MarshalProperties(IDictionary dict, ref ArrayList args)
        {
            int num = 0;
            MethodDictionary methodDictionary = dict as MethodDictionary;

            if (methodDictionary != null)
            {
                if (methodDictionary.HasInternalProperties)
                {
                    IDictionary internalProperties = methodDictionary.InternalProperties;
                    if (internalProperties != null)
                    {
                        foreach (object obj in internalProperties)
                        {
                            DictionaryEntry dictionaryEntry = (DictionaryEntry)obj;
                            if (args == null)
                            {
                                args = new ArrayList();
                            }
                            args.Add(dictionaryEntry);
                            num++;
                        }
                    }
                }
            }
            else if (dict != null)
            {
                foreach (object obj2 in dict)
                {
                    DictionaryEntry dictionaryEntry2 = (DictionaryEntry)obj2;
                    if (args == null)
                    {
                        args = new ArrayList();
                    }
                    args.Add(dictionaryEntry2);
                    num++;
                }
            }
            return(num);
        }
 public DictionaryEnumerator(MethodDictionary methodDictionary)
 {
     _methodDictionary = methodDictionary;
     _hashtableEnum    = (_methodDictionary._internalProperties != null) ? _methodDictionary._internalProperties.GetEnumerator() : null;
     _posMethod        = -1;
 }
예제 #5
0
			public DictionaryEnumerator (MethodDictionary methodDictionary)
			{
				_methodDictionary = methodDictionary;
				_hashtableEnum = (_methodDictionary._internalProperties != null) ? _methodDictionary._internalProperties.GetEnumerator() : null;
				_posMethod = -1;
			}