Item
محتويات
[
يخفي
]BookmarkCollection indexer (1 of 2)
يعيد إشارة مرجعية عند الفهرس المحدد.
public Bookmark this[int index] { get; }
معامل | وصف |
---|---|
index | فهرس للمجموعة. |
ملاحظات
المؤشر يعتمد على الصفر.
يُسمح بالمؤشرات السلبية وتشير إلى الوصول من الجزء الخلفي للمجموعة. على سبيل المثال، -1 يعني العنصر الأخير، -2 يعني العنصر الثاني قبل الأخير وهكذا.
إذا كان الفهرس أكبر من أو يساوي عدد العناصر في القائمة، فسوف يؤدي هذا إلى إرجاع مرجع فارغ.
إذا كان الفهرس سلبيًا وكانت قيمته المطلقة أكبر من عدد العناصر في القائمة، فسيؤدي هذا إلى إرجاع مرجع فارغ.
أمثلة
يوضح كيفية إضافة الإشارات المرجعية وتحديث محتوياتها.
public void CreateUpdateAndPrintBookmarks()
{
// قم بإنشاء مستند يحتوي على ثلاثة إشارات مرجعية، ثم استخدم تنفيذ زائر مستند مخصص لطباعة محتوياتها.
Document doc = CreateDocumentWithBookmarks(3);
BookmarkCollection bookmarks = doc.Range.Bookmarks;
PrintAllBookmarkInfo(bookmarks);
//يمكن الوصول إلى الإشارات المرجعية في مجموعة الإشارات المرجعية عن طريق الفهرس أو الاسم، ويمكن تحديث أسمائها.
bookmarks[0].Name = $"{bookmarks[0].Name}_NewName";
bookmarks["MyBookmark_2"].Text = $"Updated text contents of {bookmarks[1].Name}";
// اطبع جميع الإشارات المرجعية مرة أخرى لرؤية القيم المحدثة.
PrintAllBookmarkInfo(bookmarks);
}
/// <summary>
/// إنشاء مستند يحتوي على عدد معين من الإشارات المرجعية.
/// </summary>
private static Document CreateDocumentWithBookmarks(int numberOfBookmarks)
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
for (int i = 1; i <= numberOfBookmarks; i++)
{
string bookmarkName = "MyBookmark_" + i;
builder.Write("Text before bookmark.");
builder.StartBookmark(bookmarkName);
builder.Write($"Text inside {bookmarkName}.");
builder.EndBookmark(bookmarkName);
builder.Writeln("Text after bookmark.");
}
return doc;
}
/// <summary>
/// استخدم متكررًا وزائرًا لطباعة معلومات كل إشارة مرجعية في المجموعة.
/// </summary>
private static void PrintAllBookmarkInfo(BookmarkCollection bookmarks)
{
BookmarkInfoPrinter bookmarkVisitor = new BookmarkInfoPrinter();
//اجعل كل إشارة مرجعية في المجموعة تقبل زائرًا سيقوم بطباعة محتوياتها.
using (IEnumerator<Bookmark> enumerator = bookmarks.GetEnumerator())
{
while (enumerator.MoveNext())
{
Bookmark currentBookmark = enumerator.Current;
if (currentBookmark != null)
{
currentBookmark.BookmarkStart.Accept(bookmarkVisitor);
currentBookmark.BookmarkEnd.Accept(bookmarkVisitor);
Console.WriteLine(currentBookmark.BookmarkStart.GetText());
}
}
}
}
/// <summary>
/// طباعة محتويات كل إشارة مرجعية تمت زيارتها على وحدة التحكم.
/// </summary>
public class BookmarkInfoPrinter : DocumentVisitor
{
public override VisitorAction VisitBookmarkStart(BookmarkStart bookmarkStart)
{
Console.WriteLine($"BookmarkStart name: \"{bookmarkStart.Name}\", Contents: \"{bookmarkStart.Bookmark.Text}\"");
return VisitorAction.Continue;
}
public override VisitorAction VisitBookmarkEnd(BookmarkEnd bookmarkEnd)
{
Console.WriteLine($"BookmarkEnd name: \"{bookmarkEnd.Name}\"");
return VisitorAction.Continue;
}
}
أنظر أيضا
- class Bookmark
- class BookmarkCollection
- مساحة الاسم Aspose.Words
- المجسم Aspose.Words
BookmarkCollection indexer (2 of 2)
يعيد إشارة مرجعية حسب الاسم.
public Bookmark this[string bookmarkName] { get; }
معامل | وصف |
---|---|
bookmarkName | اسم الإشارة المرجعية غير حساس لحالة الأحرف. |
ملاحظات
الإرجاعاتباطل
إذا لم تتمكن من العثور على الإشارة المرجعية بالاسم المحدد.
أمثلة
يوضح كيفية إضافة الإشارات المرجعية وتحديث محتوياتها.
public void CreateUpdateAndPrintBookmarks()
{
// قم بإنشاء مستند يحتوي على ثلاثة إشارات مرجعية، ثم استخدم تنفيذ زائر مستند مخصص لطباعة محتوياتها.
Document doc = CreateDocumentWithBookmarks(3);
BookmarkCollection bookmarks = doc.Range.Bookmarks;
PrintAllBookmarkInfo(bookmarks);
//يمكن الوصول إلى الإشارات المرجعية في مجموعة الإشارات المرجعية عن طريق الفهرس أو الاسم، ويمكن تحديث أسمائها.
bookmarks[0].Name = $"{bookmarks[0].Name}_NewName";
bookmarks["MyBookmark_2"].Text = $"Updated text contents of {bookmarks[1].Name}";
// اطبع جميع الإشارات المرجعية مرة أخرى لرؤية القيم المحدثة.
PrintAllBookmarkInfo(bookmarks);
}
/// <summary>
/// إنشاء مستند يحتوي على عدد معين من الإشارات المرجعية.
/// </summary>
private static Document CreateDocumentWithBookmarks(int numberOfBookmarks)
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
for (int i = 1; i <= numberOfBookmarks; i++)
{
string bookmarkName = "MyBookmark_" + i;
builder.Write("Text before bookmark.");
builder.StartBookmark(bookmarkName);
builder.Write($"Text inside {bookmarkName}.");
builder.EndBookmark(bookmarkName);
builder.Writeln("Text after bookmark.");
}
return doc;
}
/// <summary>
/// استخدم متكررًا وزائرًا لطباعة معلومات كل إشارة مرجعية في المجموعة.
/// </summary>
private static void PrintAllBookmarkInfo(BookmarkCollection bookmarks)
{
BookmarkInfoPrinter bookmarkVisitor = new BookmarkInfoPrinter();
//اجعل كل إشارة مرجعية في المجموعة تقبل زائرًا سيقوم بطباعة محتوياتها.
using (IEnumerator<Bookmark> enumerator = bookmarks.GetEnumerator())
{
while (enumerator.MoveNext())
{
Bookmark currentBookmark = enumerator.Current;
if (currentBookmark != null)
{
currentBookmark.BookmarkStart.Accept(bookmarkVisitor);
currentBookmark.BookmarkEnd.Accept(bookmarkVisitor);
Console.WriteLine(currentBookmark.BookmarkStart.GetText());
}
}
}
}
/// <summary>
/// طباعة محتويات كل إشارة مرجعية تمت زيارتها على وحدة التحكم.
/// </summary>
public class BookmarkInfoPrinter : DocumentVisitor
{
public override VisitorAction VisitBookmarkStart(BookmarkStart bookmarkStart)
{
Console.WriteLine($"BookmarkStart name: \"{bookmarkStart.Name}\", Contents: \"{bookmarkStart.Bookmark.Text}\"");
return VisitorAction.Continue;
}
public override VisitorAction VisitBookmarkEnd(BookmarkEnd bookmarkEnd)
{
Console.WriteLine($"BookmarkEnd name: \"{bookmarkEnd.Name}\"");
return VisitorAction.Continue;
}
}
أنظر أيضا
- class Bookmark
- class BookmarkCollection
- مساحة الاسم Aspose.Words
- المجسم Aspose.Words