Example #1
0
        public static List<MethodInfo> GetMethodsBySignature(Type type, Type returnType, params Type[] parameterTypes)
        {
            var allMethods = new List<MethodInfo>(type.GetMethods(AllInstanceMethodsBindingFlags));

            return allMethods.FindAll(delegate(MethodInfo methodInfo)
                                          {
                                              if (methodInfo.ReturnType != returnType) return false;
                                              var parameters = methodInfo.GetParameters();
                                              if ((parameterTypes == null || parameterTypes.Length == 0))
                                                  return parameters.Length == 0;
                                              if (parameters.Length != parameterTypes.Length)
                                                  return false;
                                              for (int i = 0; i < parameterTypes.Length; i++)
                                              {
                                                  if (parameters[i].ParameterType != parameterTypes[i])
                                                      return false;
                                              }
                                              return true;
                                          });

            
        }
Example #2
0
        public static List<PropertyInfo> GetPropertiesByType(Type type, Type propertyType)
        {
            var allProperties = new List<PropertyInfo>(type.GetProperties());

            //Debug.Log(string.Format("GetPropertiesByType [{0}, {1}]", type, propertyType));
            return allProperties.FindAll(delegate(PropertyInfo propertyInfo)
                                             {
                                                 //Debug.Log(string.Format("   [{0}, {1}]", propertyInfo.PropertyType, propertyType));
                                                 return propertyInfo.PropertyType == propertyType;
                                             });
        }
Example #3
0
 private static List<DisplayListMember> GetChildrenWithDepth(List<DisplayListMember> depthList, int depth)
 {
     return depthList.FindAll(delegate(DisplayListMember displayListMember)
     {
         return displayListMember.Depth == depth;
     });
 }