Exemplo n.º 1
0
        static public object InspectGet(this IEnumerable item, int index)
        {
            if (item != null)
            {
                IList list;
                if (item.Convert <IList>(out list))
                {
                    return(list[index]);
                }

                MethodInfo method = item.GetType().GetFilteredInstanceMethods(
                    Filterer_MethodInfo.IsNamed("get_Item"),
                    Filterer_MethodInfo.CanReturnInto <object>(),
                    Filterer_MethodInfo.CanEffectiveParametersHold <int>()
                    ).GetFirst();
                if (method != null)
                {
                    return(method.Invoke(item, new object[] { index }));
                }

                int count = 0;
                foreach (object sub_item in item)
                {
                    if (count == index)
                    {
                        return(sub_item);
                    }

                    count++;
                }
            }

            return(null);
        }
Exemplo n.º 2
0
        static public bool InspectRemoveAt(this IEnumerable item, int index)
        {
            if (item != null)
            {
                MethodInfoEX method = item.GetType().GetFilteredInstanceMethods(
                    Filterer_MethodInfo.IsNamed("RemoveAt"),
                    Filterer_MethodInfo.CanEffectiveParametersHold <int>()
                    ).GetFirst();
                if (method != null)
                {
                    method.Invoke(item, new object[] { index });
                    return(true);
                }
            }

            return(false);
        }
Exemplo n.º 3
0
 static public void InvokeFilteredMarkedStaticMethods <P1, P2, P3, P4, P5, P6, P7, P8, P9>(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9)
 {
     GetFilteredMarkedStaticMethods(
         Filterer_MethodInfo.CanEffectiveParametersHold <P1, P2, P3, P4, P5, P6, P7, P8, P9>()
         ).Process(m => m.Invoke(null, new object[] { p1, p2, p3, p4, p5, p6, p7, p8, p9 }));
 }
Exemplo n.º 4
0
 static public void InvokeFilteredMarkedStaticMethods <P1, P2, P3, P4, P5>(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5)
 {
     GetFilteredMarkedStaticMethods(
         Filterer_MethodInfo.CanEffectiveParametersHold <P1, P2, P3, P4, P5>()
         ).Process(m => m.Invoke(null, new object[] { p1, p2, p3, p4, p5 }));
 }
Exemplo n.º 5
0
 static public void InvokeFilteredMarkedStaticMethods <P1, P2>(P1 p1, P2 p2)
 {
     GetFilteredMarkedStaticMethods(
         Filterer_MethodInfo.CanEffectiveParametersHold <P1, P2>()
         ).Process(m => m.Invoke(null, new object[] { p1, p2 }));
 }
Exemplo n.º 6
0
 static public void InvokeFilteredMarkedStaticMethods()
 {
     GetFilteredMarkedStaticMethods(
         Filterer_MethodInfo.CanEffectiveParametersHold()
         ).Process(m => m.Invoke(null, new object[] {  }));
 }