IfcDoc.FormatTTL_Stream.WriteListOfListWithValues C# (CSharp) Méthode

WriteListOfListWithValues() private méthode

private WriteListOfListWithValues ( Type ft, System list ) : void
ft System.Type
list System
Résultat void
        private void WriteListOfListWithValues(Type ft, System.Collections.IList list)
        {
            //Console.Out.WriteLine("WriteListOfListWithValues()");
            //example:
            //owl: allValuesFrom expr:INTEGER_List_List;
            //owl: onProperty ifc:coordIndex_IfcTriangulatedFaceSet
            ft = ft.GetGenericArguments()[0].GetGenericArguments()[0];
            FieldInfo fieldValue = ft.GetField("Value");

            List<string> listoflists = new List<string>();
            ListObject newListObject;

            for (int i = 0; i < list.Count; i++)
            {
                //new List of List
                List<string> valuelist = new List<string>();
                System.Collections.IList listInner = (System.Collections.IList)list[i];
                for (int j = 0; j < listInner.Count; j++)
                {
                    object elem = listInner[j];
                    if (elem != null) // should never be null, but be safe
                    {
                        elem = fieldValue.GetValue(elem);
                        string encodedvalue = System.Security.SecurityElement.Escape(elem.ToString());
                        valuelist.Add(encodedvalue);
                    }
                }

                //create listObject
            #if VERBOSE
                Console.Out.WriteLine("Message: Creating ListOfListWithValues with XSDType : " + fieldValue.FieldType.Name);
            #endif
                //newListObject = GetListObject(ft.Name + "_List_", ft.Name, valuelist, fieldValue.GetType().Name);
                newListObject = GetListObject(ft.Name + "_List_", ft.Name, valuelist, fieldValue.FieldType.Name);

                //Console.Out.WriteLine("written list prop (as obj. prop - part of list of list): attr = " + "inst:" + newListObject.URI);

                //add to listOfList
                listoflists.Add(newListObject.URI);
            }

            ListObject newListOfListObject = GetListOfListObject(ft.Name, listoflists, "###LISTOFLIST###");
            m_writer.Write("inst:" + newListOfListObject.URI);
            Console.Out.WriteLine("written list of list prop (as obj. prop): attr = " + "inst:" + newListOfListObject.URI);
        }