Comment

Comment class

Представляет контейнер для текста комментария.

Чтобы узнать больше, посетитеРабота с комментариями статья документации.

public sealed class Comment : InlineStory

Конструкторы

ИмяОписание
Comment(DocumentBase)Инициализирует новый экземплярComment класс.
Comment(DocumentBase, string, string, DateTime)Инициализирует новый экземплярComment класс.

Характеристики

ИмяОписание
Ancestor { get; }Возвращает родительский элементComment объект. Возвратнулевой для комментариев верхнего уровня.
Author { get; set; }Возвращает или задает имя автора комментария.
Count { get; }Получает количество непосредственных дочерних элементов этого узла.
CustomNodeId { get; set; }Указывает пользовательский идентификатор узла.
DateTime { get; set; }Получает дату и время создания комментария.
virtual Document { get; }Получает документ, которому принадлежит этот узел.
Done { get; set; }Получает или устанавливает флаг, указывающий, что комментарий помечен как выполненный.
FirstChild { get; }Получает первого дочернего элемента узла.
FirstParagraph { get; }Получает первый абзац статьи.
Font { get; }Предоставляет доступ к форматированию шрифта символа привязки этого объекта.
HasChildNodes { get; }Возвращаетистинный если у этого узла есть дочерние узлы.
Id { get; }Получает идентификатор комментария.
Initial { get; set; }Возвращает или устанавливает инициалы пользователя, связанного с определенным комментарием.
override IsComposite { get; }Возвращаетистинный поскольку этот узел может иметь дочерние узлы.
IsDeleteRevision { get; }Возвращает true, если этот объект был удален в Microsoft Word при включенном отслеживании изменений.
IsInsertRevision { get; }Возвращает true, если этот объект был вставлен в Microsoft Word при включенном отслеживании изменений.
IsMoveFromRevision { get; }Возвращаетистинный если этот объект был перемещен (удален) в Microsoft Word при включенном отслеживании изменений.
IsMoveToRevision { get; }Возвращаетистинный если этот объект был перемещен (вставлен) в Microsoft Word при включенном отслеживании изменений.
LastChild { get; }Получает последнего дочернего узла узла.
LastParagraph { get; }Получает последний абзац истории.
NextSibling { get; }Получает узел, следующий сразу за этим узлом.
override NodeType { get; }ВозвращаетComment .
Paragraphs { get; }Получает коллекцию абзацев, которые являются непосредственными дочерними элементами истории.
ParentNode { get; }Получает непосредственного родителя этого узла.
ParentParagraph { get; }Получает родительский элементParagraph этого узла.
PreviousSibling { get; }Получает узел, непосредственно предшествующий этому узлу.
Range { get; }ВозвращаетRange объект, представляющий часть документа, содержащуюся в этом узле.
Replies { get; }Возвращает коллекциюComment объекты, которые являются непосредственными дочерними элементами указанного комментария.
override StoryType { get; }ВозвращаетComments .
Tables { get; }Получает коллекцию таблиц, которые являются непосредственными дочерними элементами истории.

Методы

ИмяОписание
override Accept(DocumentVisitor)Принимает посетителя.
AddReply(string, string, DateTime, string)Добавляет ответ на этот комментарий.
AppendChild(Node)Добавляет указанный узел в конец списка дочерних узлов для этого узла.
Clone(bool)Создает дубликат узла.
CreateNavigator()Создает навигатор, который можно использовать для перемещения и чтения узлов.
EnsureMinimum()Если последний дочерний элемент не является абзацем, создается и добавляется один пустой абзац.
GetAncestor(NodeType)Получает первого предка указанногоNodeType .
GetAncestor(Type)Получает первого предка указанного типа объекта.
GetChild(NodeType, int, bool)Возвращает N-й дочерний узел, соответствующий указанному типу.
GetChildNodes(NodeType, bool)Возвращает живую коллекцию дочерних узлов, соответствующих указанному типу.
GetEnumerator()Обеспечивает поддержку для каждой итерации стиля над дочерними узлами этого узла.
override GetText()Получает текст этого узла и всех его дочерних элементов.
IndexOf(Node)Возвращает индекс указанного дочернего узла в массиве дочерних узлов.
InsertAfter(NodeNode)Вставляет указанный узел сразу после указанного ссылочного узла.
InsertBefore(NodeNode)Вставляет указанный узел непосредственно перед указанным ссылочным узлом.
NextPreOrder(Node)Получает следующий узел в соответствии с алгоритмом обхода дерева предварительного заказа.
PrependChild(Node)Добавляет указанный узел в начало списка дочерних узлов для этого узла.
PreviousPreOrder(Node)Получает предыдущий узел в соответствии с алгоритмом обхода дерева предварительного заказа.
Remove()Удаляет себя от родителя.
RemoveAllChildren()Удаляет все дочерние узлы текущего узла.
RemoveAllReplies()Удаляет все ответы на этот комментарий.
RemoveChild(Node)Удаляет указанный дочерний узел.
RemoveReply(Comment)Удаляет указанный ответ на этот комментарий.
RemoveSmartTags()Удаляет всеSmartTagузлы-потомки текущего узла.
SelectNodes(string)Выбирает список узлов, соответствующих выражению XPath.
SelectSingleNode(string)Выбирает первыйNode которое соответствует выражению XPath.
SetText(string)Это удобный метод, позволяющий легко задать текст комментария.
ToString(SaveFormat)Экспортирует содержимое узла в строку указанного формата.
ToString(SaveOptions)Экспортирует содержимое узла в строку, используя указанные параметры сохранения.

Примечания

Комментарий — это аннотация, привязанная к области текста или к позиции в тексте. Комментарий может содержать произвольное количество контента на уровне блока.

ЕслиComment объект возникает сам по себе, комментарий привязывается к положению объектаComment объект.

Чтобы привязать комментарий к текстовой области, необходимы три объекта:Comment , CommentRangeStart иCommentRangeEnd . Все три объекта должны иметь один и тот же .Id ценить.

Comment является узлом встроенного уровня и может быть только дочерним элементомParagraph.

Comment может содержатьParagraph иTable дочерние узлы.

Примеры

Показывает, как добавить комментарий к абзацу.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Write("Hello world!");

Comment comment = new Comment(doc, "John Doe", "JD", DateTime.Today);
builder.CurrentParagraph.AppendChild(comment);
builder.MoveTo(comment.AppendChild(new Paragraph(doc)));
builder.Write("Comment text.");

Assert.AreEqual(DateTime.Today, comment.DateTime);

 // В Microsoft Word мы можем щелкнуть правой кнопкой мыши этот комментарий в теле документа, чтобы отредактировать его или ответить на него.
doc.Save(ArtifactsDir + "InlineStory.AddComment.docx");

Показывает, как добавить комментарий к документу и затем ответить на него.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Comment comment = new Comment(doc, "John Doe", "J.D.", DateTime.Now);
comment.SetText("My comment.");

// Размещаем комментарий в узле тела документа.
// Этот комментарий появится в том месте, где находится его абзац,
// за пределами правого поля страницы и с пунктирной линией, соединяющей его с абзацем.
builder.CurrentParagraph.AppendChild(comment);

// Добавляем ответ, который будет отображаться под родительским комментарием.
comment.AddReply("Joe Bloggs", "J.B.", DateTime.Now, "New reply");

// Комментарии и ответы являются узлами комментариев.
Assert.AreEqual(2, doc.GetChildNodes(NodeType.Comment, true).Count);

// Комментарии, которые не отвечают на другие комментарии, относятся к «верхнему уровню». У них нет комментариев предков.
Assert.Null(comment.Ancestor);

// Ответы содержат комментарий верхнего уровня предка.
Assert.AreEqual(comment, comment.Replies[0].Ancestor);

doc.Save(ArtifactsDir + "Comment.AddCommentWithReply.docx");

Смотрите также