Exemplo n.º 1
0
 public static T GetIndexMember <T>(LavishScriptObject index, int number)
 {
     if (typeof(T).IsSubclassOf(typeof(LavishScriptObject)))
     {
         var constructorInfo = typeof(T).GetConstructor(new[] { typeof(LavishScriptObject) });
         if (constructorInfo != null)
         {
             return((T)constructorInfo.Invoke(new object[] { index.GetIndex(number.ToString(CultureInfo.InvariantCulture)) }));
         }
     }
     return(index.GetIndex <T>(number.ToString(CultureInfo.InvariantCulture)));
 }
Exemplo n.º 2
0
 public static T GetIndexMember <T>(LavishScriptObject index, int number)
 {
     if (typeof(T).IsSubclassOf(typeof(LavishScriptObject)))
     {
         return((T)typeof(T).GetConstructor(new[] { typeof(LavishScriptObject) }).Invoke(new object[] { index.GetIndex(number.ToString(CultureInfo.CurrentCulture)) }));
     }
     return(index.GetIndex <T>(number.ToString(CultureInfo.CurrentCulture)));
 }
Exemplo n.º 3
0
        private static T IndexToLavishScriptObject <T>(LavishScriptObject index, int number)
        {
            var constructor = typeof(T).GetConstructor(new[] { typeof(LavishScriptObject) });

            if (constructor != null)
            {
                return((T)constructor.Invoke(new object[] { index.GetIndex(number.ToString(CultureInfo.InvariantCulture)) }));
            }
            return(default(T));
        }
Exemplo n.º 4
0
 public static T GetIndexMember <T>(LavishScriptObject Index, int number)
 {
     if (typeof(T).IsSubclassOf(typeof(LavishScriptObject)))
     {
         return((T)typeof(T).GetConstructor(new Type[] { typeof(LavishScriptObject) }).Invoke(new object[] { Index.GetIndex(number.ToString()) }));
     }
     else
     {
         return(Index.GetIndex <T>(number.ToString()));
     }
 }
Exemplo n.º 5
0
        private static List <T> IndexToStructList <T>(LavishScriptObject index)
        {
            var list  = new List <T>();
            var count = index.GetMember <int>("Used");

            for (var i = 1; i <= count; i++)
            {
                list.Add(index.GetIndex <T>(i.ToString(CultureInfo.CurrentCulture)));
            }

            return(list);
        }
Exemplo n.º 6
0
        private static List <T> IndexToStructList <T>(LavishScriptObject Index)
        {
            List <T> List  = new List <T>();
            int      Count = Index.GetMember <int>("Used");

            for (int i = 1; i <= Count; i++)
            {
                List.Add(Index.GetIndex <T>(i.ToString()));
            }

            return(List);
        }
Exemplo n.º 7
0
        private static List <T> IndexToLavishScriptObjectList <T>(LavishScriptObject Index)
        {
            List <T> List  = new List <T>();
            int      Count = Index.GetMember <int>("Used");

            ConstructorInfo constructor = typeof(T).GetConstructor(new Type[] { typeof(LavishScriptObject) });

            for (int i = 1; i <= Count; i++)
            {
                List.Add((T)constructor.Invoke(new object[] { Index.GetIndex(i.ToString()) }));
            }

            return(List);
        }
Exemplo n.º 8
0
        private static List <T> IndexToLavishScriptObjectList <T>(LavishScriptObject index, string lsTypeName)
        {
            //string methodName = "IndexToLSOList";
            //Tracing.SendCallback(methodName, LSTypeName);

            //Tracing.SendCallback(methodName, "getmember Used");
            var list  = new List <T>();
            var count = index.GetMember <int>("Used");

            if (count == 0)
            {
                return(list);
            }

            //Tracing.SendCallback(methodName, "get constructor info");
            var constructorInfo = GetConstructorInfoForType(typeof(T));

            //Tracing.SendCallback(methodName, "loop add items");
            for (var i = 1; i <= count; i++)
            {
                var objectLso = index.GetIndex(i.ToString(CultureInfo.CurrentCulture));

                if (LavishScriptObject.IsNullOrInvalid(objectLso))
                {
                    Tracing.SendCallback(String.Format(CultureInfo.InvariantCulture, "Error: Index contains invalid LSO. NewObject will fail; aborting."));
                    return(list);
                }

                var objectId = objectLso.GetString("ID");

                if (objectId == null)
                {
                    Tracing.SendCallback(String.Format(CultureInfo.InvariantCulture, "Error: LStype \"{0}\" has no ID member. NewObject will fail; aborting.", lsTypeName));
                    return(list);
                }

                if (objectId == string.Empty)
                {
                    Tracing.SendCallback(String.Format(CultureInfo.InvariantCulture, "Error: LStype \"{0}\" has an ID member but it is returning an empty string. NewObject will fail; aborting.", lsTypeName));
                    return(list);
                }

                var lsObject = LavishScript.Objects.NewObject(lsTypeName, objectId);
                var item     = (T)constructorInfo.Invoke(new object[] { lsObject });
                list.Add(item);
            }

            return(list);
        }
Exemplo n.º 9
0
        private static List <T> IndexToLavishScriptObjectList <T>(LavishScriptObject index, string lsTypeName)
        {
            var list  = new List <T>();
            var count = index.GetMember <int>("Used");

            if (count == 0)
            {
                return(list);
            }

            var constructor = typeof(T).GetConstructor(new[] { typeof(LavishScriptObject) });

            Trace.WriteLine(count);
            for (var i = 1u; i <= count; i++)
            {
                var objectLso = index.GetIndex(i.ToString(CultureInfo.InvariantCulture));

                if (LavishScriptObject.IsNullOrInvalid(objectLso))
                {
                    return(list);
                }

                var objectId = objectLso.GetStringFromLSO("ID");
                Trace.WriteLine(i + " " + objectId);
                if (objectId == null)
                {
                    return(list);
                }

                if (objectId == string.Empty)
                {
                    return(list);
                }

                var lsObject = LavishScript.Objects.NewObject(lsTypeName, objectId);
                if (constructor != null)
                {
                    var item = (T)constructor.Invoke(new object[] { lsObject });
                    list.Add(item);
                }
            }

            return(list);
        }
Exemplo n.º 10
0
        private static T IndexToLavishScriptObject <T>(LavishScriptObject Index, int number)
        {
            ConstructorInfo constructor = typeof(T).GetConstructor(new Type[] { typeof(LavishScriptObject) });

            return((T)constructor.Invoke(new object[] { Index.GetIndex(number.ToString()) }));
        }