Clone() 공개 메소드

Clone clones the object
public Clone ( ) : object
리턴 object
예제 #1
0
파일: MessageSet.cs 프로젝트: pifta/NCLDR
        /// <summary>
        /// Combine combines a child with a parent as necessary and returns the combined object
        /// </summary>
        /// <param name="combinedMessages">The child object</param>
        /// <param name="parentMessages">The parent object</param>
        /// <returns>The combined object</returns>
        public static MessageSet Combine(MessageSet combinedMessages, MessageSet parentMessages)
        {
            if (combinedMessages == null && parentMessages == null)
            {
                return(null);
            }
            else if (combinedMessages == null)
            {
                return((MessageSet)parentMessages.Clone());
            }
            else if (parentMessages == null)
            {
                return(combinedMessages);
            }

            if (parentMessages.Messages != null)
            {
                List <Message> combinedMessagesList = new List <Message>(combinedMessages.Messages);

                foreach (Message parentMessage in parentMessages.Messages)
                {
                    if (!(from m in combinedMessages.Messages
                          where m.Id == parentMessage.Id
                          select m).Any())
                    {
                        combinedMessagesList.Add(parentMessage);
                    }
                }

                combinedMessages.Messages = combinedMessagesList.ToArray();
            }

            return(combinedMessages);
        }
예제 #2
0
파일: MessageSet.cs 프로젝트: hmvs/NCLDR
        /// <summary>
        /// Combine combines a child with a parent as necessary and returns the combined object
        /// </summary>
        /// <param name="combinedMessages">The child object</param>
        /// <param name="parentMessages">The parent object</param>
        /// <returns>The combined object</returns>
        public static MessageSet Combine(MessageSet combinedMessages, MessageSet parentMessages)
        {
            if (combinedMessages == null && parentMessages == null)
            {
                return null;
            }
            else if (combinedMessages == null)
            {
                return (MessageSet)parentMessages.Clone();
            }
            else if (parentMessages == null)
            {
                return combinedMessages;
            }

            List<Message> combinedMessagesList = new List<Message>(combinedMessages.Messages);

            foreach (Message parentMessage in parentMessages.Messages)
            {
                if (!(from m in combinedMessages.Messages
                      where m.Id == parentMessage.Id
                      select m).Any())
                {
                    combinedMessagesList.Add(parentMessage);
                }
            }

            combinedMessages.Messages = combinedMessagesList.ToArray();

            return combinedMessages;
        }