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; }Получает дату и время создания комментария.
DateTimeUtc { get; }Получает дату и время UTC, когда был сделан комментарий.
virtual Document { get; }Получает документ, к которому принадлежит этот узел.
Done { get; set; }Возвращает или задает флаг, указывающий, что комментарий помечен как выполненный.
FirstChild { get; }Получает первый дочерний элемент узла.
FirstParagraph { get; }Получает первый абзац в истории.
Font { get; }Предоставляет доступ к форматированию шрифта символа привязки этого объекта.
HasChildNodes { get; }Возвратистинный если у этого узла есть дочерние узлы.
Id { get; set; }Получает или задает идентификатор комментария.
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; }Получает коллекцию абзацев, которые являются непосредственными дочерними элементами истории.
ParentId { get; set; }Получает или задает идентификатор родительского комментария. Значение-1 означает, что у комментария нет родителя.
ParentNode { get; }Получает непосредственного родителя этого узла.
ParentParagraph { get; }Возвращает родителяParagraph этого узла.
PreviousSibling { get; }Получает узел, непосредственно предшествующий данному узлу.
Range { get; }ВозвращаетRangeобъект, представляющий часть документа, содержащуюся в этом узле.
Replies { get; }Возвращает коллекциюComment объекты, которые являются непосредственными потомками указанного комментария.
override StoryType { get; }ВозвратComments .
Tables { get; }Получает коллекцию таблиц, которые являются непосредственными дочерними элементами истории.

Методы

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

Примечания

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

Если аComment объект возникает сам по себе, комментарий привязан к позиции x000d_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");

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