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))); }
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))); }
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)); }
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())); } }
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); }
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); }
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); }
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); }
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); }
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()) })); }