public void AddToList(string name, Int64 typeCodeKey, string datastoreTypes, Fasterflect.ConstructorInvoker constructorInvoker) { //Add an item to the list replacing the eldest item m_Name[m_OldestItemInList] = name; m_TypeCodeKey[m_OldestItemInList] = typeCodeKey; m_DatastoreTypes[m_OldestItemInList] = datastoreTypes; m_ConstructorInvoker[m_OldestItemInList] = constructorInvoker; m_OldestItemInList++; if (m_OldestItemInList > m_ListSize - 1) { m_OldestItemInList = 0; } }
public void GetFromList(string name, Int64 typeCodeKey, string datastoreTypes, out Fasterflect.ConstructorInvoker constructorInvoker) { //Search for the item starting at the youngest item in the list for (int i = m_OldestItemInList - 1; i >= 0; i--) { if (m_Name[i] == name && m_TypeCodeKey[i] == typeCodeKey && m_DatastoreTypes[i] == datastoreTypes) { constructorInvoker = m_ConstructorInvoker[i]; return; } } for (int i = m_ListSize - 1; i >= m_OldestItemInList; i--) { if (m_Name[i] == name && m_TypeCodeKey[i] == typeCodeKey && m_DatastoreTypes[i] == datastoreTypes) { constructorInvoker = m_ConstructorInvoker[i]; return; } } constructorInvoker = null; }