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

GetListObject() private méthode

private GetListObject ( string listname, string ifcowlclass, List values, string XSDType ) : ListObject
listname string
ifcowlclass string
values List
XSDType string
Résultat ListObject
        private ListObject GetListObject(string listname, string ifcowlclass, List<string> values, string XSDType)
        {
            //Console.Out.WriteLine("started GetListObject run for list with number of elements: " + values.Count);
            ListObject obj;

            string encodedvalue = "";
            for (int i=0; i < values.Count; i++)
            {
                if (XSDType != "###ENTITY###")
                {
            #if VERBOSE
                    Console.Out.WriteLine("GetListObject().GetURIObject()");
            #endif
                    //URIObject uo = GetURIObject(ifcowlclass, values[i], values[i].GetType().Name);
                    URIObject uo = GetURIObject(ifcowlclass, values[i], XSDType);
                    values[i] = uo.URI;
                    encodedvalue += uo.URI;
                }
                else {
                    encodedvalue += values[i];
                }
                encodedvalue += "_";
            }

            //WARNING: _LIST_ could be in the other strings
            //IfcLengthMeasure_List_0_0_0
            //IfcRepresentation_List_#121_#145_#137
            //encodedvalue = ifcowlclass + "_LIST_" + encodedvalue;
            encodedvalue = listname + encodedvalue;

            if (m_listObjects.ContainsKey(encodedvalue))
                return (ListObject)m_listObjects[encodedvalue];

            m_nextID++;

            if (XSDType == "###ENTITY###")
            {
            #if VERBOSE
                Console.Out.WriteLine("Creating GetListObject list with XSDType : " + ifcowlclass);
            #endif
                obj = new ListObject(listname + m_nextID, listname.Substring(0,listname.Length-1), ifcowlclass, values, ifcowlclass);
            }
            else
            {
            #if VERBOSE
                //create the additional datatype value
                Console.Out.WriteLine("Creating GetListObject list with XSDType : " + XSDType);
            #endif
                obj = new ListObject(listname + m_nextID, listname.Substring(0, listname.Length - 1), ifcowlclass, values, XSDType);
            }

            m_listObjects.Add(encodedvalue, obj);

            //Console.Out.WriteLine("finished GetListObject run for list with number of elements: " + values.Count);
            return obj;
        }