Example #1
0
        public void AddToList(IntPtr sourceTypeHandle, string name, Fasterflect.MemberGetter memberGetter)
        {
            //Add an item to the list replacing the eldest item
            m_SourceTypeHandle[m_OldestItemInList] = sourceTypeHandle;
            m_Name[m_OldestItemInList]             = name;
            m_MemberGetter[m_OldestItemInList]     = memberGetter;

            m_OldestItemInList++;
            if (m_OldestItemInList > m_ListSize - 1)
            {
                m_OldestItemInList = 0;
            }
        }
Example #2
0
        public void GetFromList(IntPtr sourceTypeHandle, string name, out Fasterflect.MemberGetter memberGetter)
        {
            //Search for the item starting at the youngest item in the list
            for (int i = m_OldestItemInList - 1; i >= 0; i--)
            {
                if (m_SourceTypeHandle[i] == sourceTypeHandle && m_Name[i] == name)
                {
                    memberGetter = m_MemberGetter[i];
                    return;
                }
            }

            for (int i = m_ListSize - 1; i >= m_OldestItemInList; i--)
            {
                if (m_SourceTypeHandle[i] == sourceTypeHandle && m_Name[i] == name)
                {
                    memberGetter = m_MemberGetter[i];
                    return;
                }
            }

            memberGetter = null;
        }