Example #1
0
        /// <summary>
        /// 将 <see cref="ComplexMessage"/> 实例解构为 10 个不同的 <see cref="MessageElement"/> 实例。
        /// 如果要求的 <see cref="MessageElement"/> 实例数量大于 <paramref name="message"/> 的元素数量,则超出部分的值为 <see langword="null"/>。
        /// </summary>
        /// <exception cref="ArgumentNullException"><paramref name="message"/> 为 <see langword="null"/>。</exception>
        public static void Deconstruct(
            this ComplexMessage message,
            out MessageElement element0,
            out MessageElement element1,
            out MessageElement element2,
            out MessageElement element3,
            out MessageElement element4,
            out MessageElement element5,
            out MessageElement element6,
            out MessageElement element7,
            out MessageElement element8,
            out MessageElement element9)
        {
            if (message is null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            element0 = message.ElementAtOrDefault(0);
            element1 = message.ElementAtOrDefault(1);
            element2 = message.ElementAtOrDefault(2);
            element3 = message.ElementAtOrDefault(3);
            element4 = message.ElementAtOrDefault(4);
            element5 = message.ElementAtOrDefault(5);
            element6 = message.ElementAtOrDefault(6);
            element7 = message.ElementAtOrDefault(7);
            element8 = message.ElementAtOrDefault(8);
            element9 = message.ElementAtOrDefault(9);
        }
Example #2
0
        /// <summary>
        /// 将 <see cref="ComplexMessage"/> 实例解构为 2 个不同的 <see cref="MessageElement"/> 实例。
        /// 如果要求的 <see cref="MessageElement"/> 实例数量大于 <paramref name="message"/> 的元素数量,则超出部分的值为 <see langword="null"/>。
        /// </summary>
        /// <exception cref="ArgumentNullException"><paramref name="message"/> 为 <see langword="null"/>。</exception>
        public static void Deconstruct(
            this ComplexMessage message,
            out MessageElement element0,
            out MessageElement element1)
        {
            if (message is null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            element0 = message.ElementAtOrDefault(0);
            element1 = message.ElementAtOrDefault(1);
        }