Comment

Comment class

Rappresenta un contenitore per il testo di un commento.

Per saperne di più, visita ilLavorare con i commenti articolo di documentazione.

public sealed class Comment : InlineStory

Costruttori

NomeDescrizione
Comment(DocumentBase)Inizializza una nuova istanza diComment classe.
Comment(DocumentBase, string, string, DateTime)Inizializza una nuova istanza diComment classe.

Proprietà

NomeDescrizione
Ancestor { get; }Restituisce il genitoreCommentoggetto. Restituiscenull per commenti di primo livello.
Author { get; set; }Restituisce o imposta il nome dell’autore per un commento.
Count { get; }Ottiene il numero di figli immediati di questo nodo.
CustomNodeId { get; set; }Specifica l’identificatore del nodo personalizzato.
DateTime { get; set; }Ottiene la data e l’ora in cui è stato fatto il commento.
DateTimeUtc { get; }Ottiene la data e l’ora UTC in cui è stato fatto il commento.
virtual Document { get; }Ottiene il documento a cui appartiene questo nodo.
Done { get; set; }Ottiene o imposta il flag che indica che il commento è stato contrassegnato come completato.
FirstChild { get; }Ottiene il primo figlio del nodo.
FirstParagraph { get; }Ottiene il primo paragrafo della storia.
Font { get; }Fornisce l’accesso alla formattazione del carattere di ancoraggio di questo oggetto.
HasChildNodes { get; }RestituisceVERO se questo nodo ha nodi figlio.
Id { get; set; }Ottiene o imposta l’identificatore del commento.
Initial { get; set; }Restituisce o imposta le iniziali dell’utente associato a un commento specifico.
override IsComposite { get; }RestituisceVERO poiché questo nodo può avere nodi figlio.
IsDeleteRevision { get; }Restituisce true se questo oggetto è stato eliminato in Microsoft Word mentre il monitoraggio delle modifiche era abilitato.
IsInsertRevision { get; }Restituisce true se questo oggetto è stato inserito in Microsoft Word mentre il rilevamento delle modifiche era abilitato.
IsMoveFromRevision { get; }RestituisceVERO se questo oggetto è stato spostato (eliminato) in Microsoft Word mentre il monitoraggio delle modifiche era abilitato.
IsMoveToRevision { get; }RestituisceVERO se questo oggetto è stato spostato (inserito) in Microsoft Word mentre il monitoraggio delle modifiche era abilitato.
LastChild { get; }Ottiene l’ultimo figlio del nodo.
LastParagraph { get; }Ottiene l’ultimo paragrafo della storia.
NextSibling { get; }Ottiene il nodo immediatamente successivo a questo nodo.
override NodeType { get; }RestituisceComment .
Paragraphs { get; }Ottiene una raccolta di paragrafi che sono figli immediati della storia.
ParentId { get; set; }Ottiene o imposta l’ID del commento padre. Un valore di-1 significa che il commento non ha un genitore.
ParentNode { get; }Ottiene il genitore immediato di questo nodo.
ParentParagraph { get; }Recupera il genitoreParagraph di questo nodo.
PreviousSibling { get; }Ottiene il nodo immediatamente precedente questo nodo.
Range { get; }Restituisce unRangeoggetto che rappresenta la porzione di un documento contenuta in questo nodo.
Replies { get; }Restituisce una raccolta diComment oggetti che sono figli immediati del commento specificato.
override StoryType { get; }RestituisceComments .
Tables { get; }Ottiene una raccolta di tabelle che sono figlie immediate della storia.

Metodi

NomeDescrizione
override Accept(DocumentVisitor)Accetta un visitatore.
override AcceptEnd(DocumentVisitor)Accetta un visitatore che ha visitato la fine del commento.
override AcceptStart(DocumentVisitor)Accetta un visitatore per aver visitato l’inizio del commento.
AddReply(string, string, DateTime, string)Aggiunge una risposta a questo commento.
AppendChild<T>(T)Aggiunge il nodo specificato alla fine dell’elenco dei nodi figlio per questo nodo.
Clone(bool)Crea un duplicato del nodo.
CreateNavigator()Crea un navigatore che può essere utilizzato per attraversare e leggere i nodi.
EnsureMinimum()Se l’ultimo elemento figlio non è un paragrafo, crea e aggiunge un paragrafo vuoto.
GetAncestor(NodeType)Ottiene il primo antenato dell’oggetto specificatoNodeType .
GetAncestor(Type)Ottiene il primo antenato del tipo di oggetto specificato.
GetChild(NodeType, int, bool)Restituisce un N-esimo nodo figlio che corrisponde al tipo specificato.
GetChildNodes(NodeType, bool)Restituisce una raccolta live di nodi figlio che corrispondono al tipo specificato.
GetEnumerator()Fornisce supporto per ogni iterazione di stile sui nodi figlio di questo nodo.
override GetText()Ottiene il testo di questo nodo e di tutti i suoi figli.
IndexOf(Node)Restituisce l’indice del nodo figlio specificato nell’array dei nodi figlio.
InsertAfter<T>(T, Node)Inserisce il nodo specificato subito dopo il nodo di riferimento specificato.
InsertBefore<T>(T, Node)Inserisce il nodo specificato immediatamente prima del nodo di riferimento specificato.
NextPreOrder(Node)Ottiene il nodo successivo in base all’algoritmo di attraversamento dell’albero preordinato.
PrependChild<T>(T)Aggiunge il nodo specificato all’inizio dell’elenco dei nodi figlio per questo nodo.
PreviousPreOrder(Node)Ottiene il nodo precedente secondo l’algoritmo di attraversamento dell’albero preordinato.
Remove()Si rimuove dal genitore.
RemoveAllChildren()Rimuove tutti i nodi figlio del nodo corrente.
RemoveAllReplies()Rimuove tutte le risposte a questo commento.
RemoveChild<T>(T)Rimuove il nodo figlio specificato.
RemoveReply(Comment)Rimuove la risposta specificata a questo commento.
RemoveSmartTags()Rimuove tuttoSmartTag nodi discendenti del nodo corrente.
SelectNodes(string)Seleziona un elenco di nodi che corrispondono all’espressione XPath.
SelectSingleNode(string)Seleziona il primoNode che corrisponde all’espressione XPath.
SetText(string)Questo è un metodo comodo che consente di impostare facilmente il testo del commento.
ToString(SaveFormat)Esporta il contenuto del nodo in una stringa nel formato specificato.
ToString(SaveOptions)Esporta il contenuto del nodo in una stringa utilizzando le opzioni di salvataggio specificate.

Osservazioni

Un commento è un’annotazione ancorata a una regione di testo o a una posizione nel testo. Un commento può contenere una quantità arbitraria di contenuto a livello di blocco.

Se unComment l’oggetto si verifica da solo, il commento è ancorato a la posizione dell’Comment oggetto.

Per ancorare un commento a un’area di testo sono necessari tre oggetti:Comment , CommentRangeStart ECommentRangeEnd Tutti e tre gli oggetti devono condividere lo stesso Id valore.

Comment è un nodo di livello inline e può essere solo un figlio diParagraph.

Comment può contenereParagraph ETable nodi figlio.

Esempi

Mostra come aggiungere un commento a un paragrafo.

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

 // In Microsoft Word, possiamo fare clic con il pulsante destro del mouse su questo commento nel corpo del documento per modificarlo o per rispondere.
doc.Save(ArtifactsDir + "InlineStory.AddComment.docx");

Mostra come aggiungere un commento a un documento e poi rispondere.

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

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

// Posiziona il commento in un nodo del corpo del documento.
// Questo commento verrà visualizzato nella posizione del suo paragrafo,
// fuori dal margine destro della pagina e con una linea tratteggiata che lo collega al suo paragrafo.
builder.CurrentParagraph.AppendChild(comment);

// Aggiungi una risposta, che verrà visualizzata sotto il commento padre.
comment.AddReply("Joe Bloggs", "J.B.", DateTime.Now, "New reply");

// Sia i commenti che le risposte sono nodi Commento.
Assert.AreEqual(2, doc.GetChildNodes(NodeType.Comment, true).Count);

// I commenti che non rispondono ad altri commenti sono di "livello superiore". Non hanno commenti precedenti.
Assert.Null(comment.Ancestor);

// Le risposte hanno un commento di primo livello antenato.
Assert.AreEqual(comment, comment.Replies[0].Ancestor);

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

Guarda anche