Пример #1
0
 void SetOffsetChangeMap(OffsetChangeMap offsetChangeMap)
 {
     if (offsetChangeMap != null)
     {
         if (!offsetChangeMap.IsFrozen)
         {
             throw new ArgumentException("The OffsetChangeMap must be frozen before it can be used in DocumentChangeEventArgs");
         }
         if (!offsetChangeMap.IsValidForDocumentChange(this.Offset, this.RemovalLength, this.InsertionLength))
         {
             throw new ArgumentException("OffsetChangeMap is not valid for this document change", "offsetChangeMap");
         }
         this.offsetChangeMap = offsetChangeMap;
     }
 }
Пример #2
0
        /// <summary>
        /// Creates a new DocumentChangeEventArgs object.
        /// </summary>
        public DocumentChangeEventArgs(int offset, string removedText, string insertedText, OffsetChangeMap offsetChangeMap)
        {
            ThrowUtil.CheckNotNegative(offset, "offset");
            ThrowUtil.CheckNotNull(removedText, "removedText");
            ThrowUtil.CheckNotNull(insertedText, "insertedText");

            Offset       = offset;
            RemovedText  = removedText;
            InsertedText = insertedText;

            if (offsetChangeMap != null)
            {
                if (!offsetChangeMap.IsFrozen)
                {
                    throw new ArgumentException("The OffsetChangeMap must be frozen before it can be used in DocumentChangeEventArgs");
                }
                if (!offsetChangeMap.IsValidForDocumentChange(offset, removedText.Length, insertedText.Length))
                {
                    throw new ArgumentException("OffsetChangeMap is not valid for this document change", nameof(offsetChangeMap));
                }
                this.offsetChangeMap = offsetChangeMap;
            }
        }