Exemple #1
0
        //This methods finds the right member value from a set of methods with the same name
        public MethodInfo GetMethodWithRightParameters(DParam[] dparams, MethodInfo[] methods)
        {           
            foreach (MethodInfo mi in methods)
            {
                if (mi.MemberType == MemberTypes.Method)
                {
                    //Method

                    if (mi.GetParameters().Length == dparams.Length)
                    {
                        int i = 0;
                        //It could be this one, it has the same number of parameters
                        bool found = true;
                        foreach (ParameterInfo inf in ((MethodInfo)mi).GetParameters())
                        {                            
                            if ( inf.ParameterType.ToString() == dparams[i].Type || inf.ParameterType.IsAssignableFrom(Type.GetType(dparams[i].Type)))                            
                            {
                                found = true;
                            }
                            else
                            {
                                found = false;
                                break;
                            }
                            i++;
                        }
                        if (found)
                            return mi;                       
                    }                   
                }                
            }
            //Member not found...
            return null;
        }        
Exemple #2
0
		protected void ProcessChildren(XmlNodeList l)
		{
			IEnumerator enumChildren = l.GetEnumerator();

			while(enumChildren.MoveNext())
			{
				XmlNode c = (XmlNode) enumChildren.Current;
				switch(c.Name)
				{
					case DMethod.IAM:
						AddChild(new DMethod(c));
						break;
					case DParam.IAM:
                        DParam dparam = new DParam(c);
                        AddChild(dparam);
                        
                        // check if this is a default property
                        if (dparam.HasDefaultValue) 
                            m_defaultProp = new Property(Identifier, dparam.DefaultValue);
						break;
				}
			}
		}