Class CompositeNode
이름 공간 : Aspose.Note 모임: Aspose.Note.dll (25.4.0)
다른 노드를 포함할 수 있는 노드에 대한 기본 일반 클래스.
public abstract class CompositeNode<T> : CompositeNodeBase, INode, ICompositeNode<T>, ICompositeNode, IEnumerable<T>, IEnumerable where T : INode
{
public void Add(T node)
{
if (node == null)
throw new ArgumentNullException("node");
_children.Add(node);
}
protected override void OnChildAdded(INode child)
{
base.OnChildAdded(child);
foreach (var c in ChildNodes)
c.Parent = this;
}
}
파라미터 유형
T
컴포지트 노드에있는 요소의 유형.
Inheritance
object
←
Node
←
CompositeNodeBase
←
CompositeNode
Implements
INode
,
ICompositeNode
상속 회원들
CompositeNodeBase.GetChildNodes(NodeType)
,
CompositeNodeBase.GetChildNodes
Constructors
노드 타입(NodeType)
Aspose.Note.CompositeNode`1 클래스의 새로운 예를 시작합니다.
protected CompositeNode(NodeType nodeType)
{
}
Parameters
nodeType
NodeType
노드의 유형입니다.
Properties
FirstChild
이 노드의 첫 번째 어린이 노드를 얻습니다.
public T FirstChild
{
get;
}
부동산 가치
T
Examples
페이지가 갈등 페이지인지 확인하는 방법을 보여줍니다(즉, OneNote가 자동으로 결합 할 수없는 변경 사항이 있습니다).
string dataDir = RunExamples.GetDataDir_Pages();
Document doc = new Document(dataDir + "Aspose.one", new LoadOptions { LoadHistory = true });
var history = doc.GetPageHistory(doc.FirstChild);
for (int i = 0; i < history.Count; i++)
{
var historyPage = history[i];
Console.Write(" {0}. Author: {1}, {2:dd.MM.yyyy hh.mm.ss}",
i,
historyPage.PageContentRevisionSummary.AuthorMostRecent,
historyPage.PageContentRevisionSummary.LastModifiedTime);
Console.WriteLine(historyPage.IsConflictPage ? ", IsConflict: true" : string.Empty);
if (historyPage.IsConflictPage)
historyPage.IsConflictPage = false;
}
doc.Save(dataDir + "ConflictPageManipulation_out.one", SaveFormat.One);
IsComposite
노드가 복합되어 있는지 확인하십시오.만약 사실이라면 노드는 어린이 노드를 가질 수 있습니다.
public override sealed bool IsComposite
{
get;
}
부동산 가치
LastChild
이 노드의 마지막 아기 노드를 얻습니다.
public T LastChild
{
get;
}
부동산 가치
T
Methods
서류 방문자 (DocumentVisitor)
노드의 방문자를 받아들인다.
public override void Accept(Aspose.Words.DocumentVisitor visitor)
{
}
Parameters
visitor
DocumentVisitor
클래스의 개체는 Aspose.Note.DocumentVisitor에서 유래합니다.
AppendChildFirstT1에 대하여
이 노드를위한 어린이 노드 목록의 앞쪽에 노트를 추가합니다.
public virtual T AppendChildFirst<T>(T newChild) where T : this.T
{
}
Parameters
newChild
T1
노드가 추가됩니다.
Returns
T1
추가된 노드
파라미터 유형
T1
첨부된 노드의 정확한 유형.
AppendChildLastT1에 대하여
이 노드에 대한 어린이 노트 목록의 끝에 노드를 추가합니다.
public override T AppendChildLast<t1>(t1 newChild) where t1 : t
{
}
Parameters
newChild
T1
노드가 추가됩니다.
Returns
T1
추가된 노드
파라미터 유형
T1
첨부된 노드의 정확한 유형.
노드 타입(NodeType)
노드 유형에 따라 모든 어린이 노드를 얻으십시오.
[Obsolete("Use GetChildNodes<t>() method instead.")]
public override List<inode> GetChildNodes(NodeType type)
{
}
Parameters
type
NodeType
노드 유형
Returns
어린이 노드 목록.
GetChildNodes()
노드 유형에 따라 모든 어린이 노드를 얻으십시오.
public override List<t1> GetChildNodes<t1>() where T1 : class, INode
{
}
Returns
어린이 노드 목록.
파라미터 유형
T1
반환 목록의 항목의 유형.
Examples
문서에서 이미지를 얻는 방법을 보여줍니다.
string dataDir = RunExamples.GetDataDir_Images();
Document oneFile = new Document(dataDir + "Aspose.one");
IList<aspose.note.Image> nodes = oneFile.GetChildNodes<aspose.note.Image>();
foreach (Aspose.Note.Image image in nodes)
{
using (MemoryStream stream = new MemoryStream(image.Bytes))
{
using (Bitmap bitMap = new Bitmap(stream))
{
bitMap.Save(String.Format(dataDir + "{0}", Path.GetFileName(image.FileName)));
}
}
}
이미지의 메타 정보를 얻는 방법을 보여줍니다.
string dataDir = RunExamples.GetDataDir_Images();
Document oneFile = new Document(dataDir + "Aspose.one");
IList<aspose.note.Image> images = oneFile.GetChildNodes<aspose.note.Image>();
foreach (Aspose.Note.Image image in images)
{
Console.WriteLine("Width: {0}", image.Width);
Console.WriteLine("Height: {0}", image.Height);
Console.WriteLine("OriginalWidth: {0}", image.OriginalWidth);
Console.WriteLine("OriginalHeight: {0}", image.OriginalHeight);
Console.WriteLine("FileName: {0}", image.FileName);
Console.WriteLine("LastModifiedTime: {0}", image.LastModifiedTime);
Console.WriteLine();
}
숫자( )
그것은 Aspose.Note.CompositeNode`1의 어린이 노드를 통해 이테레이션하는 번호를 반환합니다.
public IEnumerator<t> GetEnumerator()
{
}
Returns
숫자기1 for the Aspose.Note.CompositeNode
1.
InsertChild(중고 및 T1)
이 노드에 대한 어린이 노트 목록에 지정된 위치에 노드를 입력합니다.
public virtual T InsertChild<T>(int index, T newChild) where T : baseType
{
}
Parameters
i
int
입장할 위치
newChild
T1
노드가 삽입됩니다.
Returns
T1
추가된 노드
파라미터 유형
T1
삽입된 노드의 정확한 유형.
삽입ChildrenRange(int, IEnumerable))
지정된 위치에서 시작하는 노드의 순서를이 노드를위한 어린이 노트 목록에 입력합니다.
public void InsertChildrenRange(int i, IEnumerable<t> newChildren)
{
}
Parameters
i
int
입장할 위치
newChildren
IEnumerable
노드의 순서가 삽입됩니다.
삽입ChildrenRange(int, params T)[])
지정된 위치에서 시작하는 노드의 순서를이 노드를위한 어린이 노트 목록에 입력합니다.
public void InsertChildrenRange(int i, params T[] newChildren)
{
}
Parameters
i
int
입장할 위치
newChildren
T[에 해당되는 글]
노드의 순서가 삽입됩니다.
RemoveChildT1에 대하여
아이의 노드를 제거합니다.
public T RemoveChild<T>(T oldChild) where T : T1
{
}
Parameters
oldChild
T1
제거하기 위한 노드
Returns
T1
제거된 노드
파라미터 유형
T1
정확한 유형의 제거 노드.