Comment

Comment class

Representa un contenedor para el texto de un comentario.

Para obtener más información, visite elTrabajar con comentarios Artículo de documentación.

public sealed class Comment : InlineStory

Constructores

NombreDescripción
Comment(DocumentBase)Inicializa una nueva instancia delComment clase.
Comment(DocumentBase, string, string, DateTime)Inicializa una nueva instancia delComment clase.

Propiedades

NombreDescripción
Ancestor { get; }Devuelve el padreCommentobjeto. Devuelvenulo para comentarios de alto nivel.
Author { get; set; }Devuelve o establece el nombre del autor de un comentario.
Count { get; }Obtiene el número de hijos inmediatos de este nodo.
CustomNodeId { get; set; }Especifica un identificador de nodo personalizado.
DateTime { get; set; }Obtiene la fecha y hora en que se realizó el comentario.
DateTimeUtc { get; }Obtiene la fecha y hora UTC en que se realizó el comentario.
virtual Document { get; }Obtiene el documento al que pertenece este nodo.
Done { get; set; }Obtiene o establece el indicador que indica que el comentario se ha marcado como hecho.
FirstChild { get; }Obtiene el primer hijo del nodo.
FirstParagraph { get; }Obtiene el primer párrafo de la historia.
Font { get; }Proporciona acceso al formato de fuente del carácter de anclaje de este objeto.
HasChildNodes { get; }Devuelveverdadero si este nodo tiene nodos secundarios.
Id { get; set; }Obtiene o establece el identificador del comentario.
Initial { get; set; }Devuelve o establece las iniciales del usuario asociado con un comentario específico.
override IsComposite { get; }Devuelveverdadero ya que este nodo puede tener nodos secundarios.
IsDeleteRevision { get; }Devuelve verdadero si este objeto se eliminó en Microsoft Word mientras el seguimiento de cambios estaba habilitado.
IsInsertRevision { get; }Devuelve verdadero si este objeto se insertó en Microsoft Word mientras el seguimiento de cambios estaba habilitado.
IsMoveFromRevision { get; }Devuelveverdadero Si este objeto se movió (eliminó) en Microsoft Word mientras el seguimiento de cambios estaba habilitado.
IsMoveToRevision { get; }Devuelveverdadero Si este objeto se movió (insertó) en Microsoft Word mientras el seguimiento de cambios estaba habilitado.
LastChild { get; }Obtiene el último hijo del nodo.
LastParagraph { get; }Obtiene el último párrafo de la historia.
NextSibling { get; }Obtiene el nodo inmediatamente siguiente a este nodo.
override NodeType { get; }DevuelveComment .
Paragraphs { get; }Obtiene una colección de párrafos que son hijos inmediatos de la historia.
ParentId { get; set; }Obtiene o establece el ID del comentario principal. Un valor de-1 significa que el comentario no tiene padre.
ParentNode { get; }Obtiene el padre inmediato de este nodo.
ParentParagraph { get; }Recupera el padreParagraph de este nodo.
PreviousSibling { get; }Obtiene el nodo inmediatamente anterior a este nodo.
Range { get; }Devuelve unRangeobjeto que representa la porción de un documento que está contenida en este nodo.
Replies { get; }Devuelve una colección deComment objetos que son hijos inmediatos del comentario especificado.
override StoryType { get; }DevuelveComments .
Tables { get; }Obtiene una colección de tablas que son hijas inmediatas de la historia.

Métodos

NombreDescripción
override Accept(DocumentVisitor)Acepta un visitante.
override AcceptEnd(DocumentVisitor)Acepta un visitante por visitar el final del comentario.
override AcceptStart(DocumentVisitor)Acepta un visitante por visitar el inicio del comentario.
AddReply(string, string, DateTime, string)Agrega una respuesta a este comentario.
AppendChild<T>(T)Agrega el nodo especificado al final de la lista de nodos secundarios para este nodo.
Clone(bool)Crea un duplicado del nodo.
CreateNavigator()Crea un navegador que puede utilizarse para recorrer y leer nodos.
EnsureMinimum()Si el último hijo no es un párrafo, crea y agrega un párrafo vacío.
GetAncestor(NodeType)Obtiene el primer ancestro del especificadoNodeType .
GetAncestor(Type)Obtiene el primer ancestro del tipo de objeto especificado.
GetChild(NodeType, int, bool)Devuelve un nodo secundario N que coincide con el tipo especificado.
GetChildNodes(NodeType, bool)Devuelve una colección activa de nodos secundarios que coinciden con el tipo especificado.
GetEnumerator()Proporciona soporte para cada iteración de estilo sobre los nodos secundarios de este nodo.
override GetText()Obtiene el texto de este nodo y de todos sus hijos.
IndexOf(Node)Devuelve el índice del nodo secundario especificado en la matriz de nodos secundarios.
InsertAfter<T>(T, Node)Inserta el nodo especificado inmediatamente después del nodo de referencia especificado.
InsertBefore<T>(T, Node)Inserta el nodo especificado inmediatamente antes del nodo de referencia especificado.
NextPreOrder(Node)Obtiene el siguiente nodo según el algoritmo de recorrido del árbol de preorden.
PrependChild<T>(T)Agrega el nodo especificado al comienzo de la lista de nodos secundarios para este nodo.
PreviousPreOrder(Node)Obtiene el nodo anterior según el algoritmo de recorrido del árbol de preorden.
Remove()Se elimina a sí mismo del padre.
RemoveAllChildren()Elimina todos los nodos secundarios del nodo actual.
RemoveAllReplies()Elimina todas las respuestas a este comentario.
RemoveChild<T>(T)Elimina el nodo secundario especificado.
RemoveReply(Comment)Elimina la respuesta especificada a este comentario.
RemoveSmartTags()Elimina todoSmartTag nodos descendientes del nodo actual.
SelectNodes(string)Selecciona una lista de nodos que coinciden con la expresión XPath.
SelectSingleNode(string)Selecciona el primerNode que coincide con la expresión XPath.
SetText(string)Este es un método conveniente que permite configurar fácilmente el texto del comentario.
ToString(SaveFormat)Exporta el contenido del nodo en una cadena en el formato especificado.
ToString(SaveOptions)Exporta el contenido del nodo en una cadena utilizando las opciones de guardado especificadas.

Observaciones

Un comentario es una anotación que está anclada a una región de texto o a una posición en el texto. Un comentario puede contener una cantidad arbitraria de contenido a nivel de bloque.

Si unComment El objeto aparece por sí solo, el comentario está anclado a la posición delComment objeto.

Para anclar un comentario a una región de texto se requieren tres objetos:Comment , CommentRangeStart yCommentRangeEnd Los tres objetos deben compartir el mismo Id valor.

Comment es un nodo de nivel en línea y solo puede ser un hijo deParagraph.

Comment puede contenerParagraph yTable nodos secundarios.

Ejemplos

Muestra cómo agregar un comentario a un párrafo.

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);

 // En Microsoft Word, podemos hacer clic derecho en este comentario en el cuerpo del documento para editarlo o responderlo.
doc.Save(ArtifactsDir + "InlineStory.AddComment.docx");

Muestra cómo agregar un comentario a un documento y luego responderlo.

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

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

// Coloque el comentario en un nodo en el cuerpo del documento.
// Este comentario se mostrará en la ubicación de su párrafo,
// fuera del margen derecho de la página, y con una línea punteada que lo conecta a su párrafo.
builder.CurrentParagraph.AppendChild(comment);

// Agregue una respuesta, que aparecerá debajo del comentario principal.
comment.AddReply("Joe Bloggs", "J.B.", DateTime.Now, "New reply");

// Tanto los comentarios como las respuestas son nodos de comentarios.
Assert.AreEqual(2, doc.GetChildNodes(NodeType.Comment, true).Count);

Los comentarios que no responden a otros comentarios son de "nivel superior". No tienen comentarios antecesores.
Assert.Null(comment.Ancestor);

// Las respuestas tienen un comentario de nivel superior anterior.
Assert.AreEqual(comment, comment.Replies[0].Ancestor);

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

Ver también