コード例 #1
0
        /// <summary>
        /// Replaces the Fragments in <see cref="Fragments"/> and returns the previous fragment back to the ObjectPool so it can be reused.
        /// </summary>
        /// <param name="original">Fragment to replace.</param>
        /// <param name="repacement">Replacement Fragment.</param>
        public void ReplaceFragment(MessageFragment original, MessageFragment repacement)
        {
            var index = Fragments.IndexOf(original);

            if (index == -1)
            {
                throw new Exception($"Can not replace Fragment {original.ToString()} that is not part of the message.");
            }

            Fragments[index] = repacement;
            ReleaseFragment(original);
        }
コード例 #2
0
        public override int GetItemPosition(Java.Lang.Object objectValue)
        {
            Fragment fragment = (Fragment)objectValue;
            int      index    = Fragments.IndexOf(fragment);

            if (index >= 0)
            {
                return(index);
            }
            else
            {
                return(PositionNone);
            }
        }