DocumentPropertyCollection

DocumentPropertyCollection class

الفئة الأساسية لـBuiltInDocumentProperties وCustomDocumentProperties المجموعات.

لمعرفة المزيد، قم بزيارةالعمل مع خصائص المستند مقالة توثيقية.

public abstract class DocumentPropertyCollection : IEnumerable<DocumentProperty>

الخصائص

اسموصف
Count { get; }يحصل على عدد العناصر في المجموعة.
Item { get; }يعيدDocumentProperty الكائن حسب index.
virtual Item { get; }يعيدDocumentProperty الكائن حسب اسم الخاصية.

طُرق

اسموصف
Clear()يزيل جميع الخصائص من المجموعة.
Contains(string)إرجاعحقيقي إذا كانت هناك خاصية بالاسم المحدد موجودة في المجموعة.
GetEnumerator()يعيد كائن عداد يمكن استخدامه للتكرار على جميع العناصر في المجموعة.
IndexOf(string)يحصل على فهرس الخاصية حسب الاسم.
Remove(string)يزيل خاصية بالاسم المحدد من المجموعة.
RemoveAt(int)يزيل خاصية عند الفهرس المحدد.

ملاحظات

أسماء الخصائص لا تميز بين الأحرف الكبيرة والصغيرة.

يتم فرز الخصائص الموجودة في المجموعة أبجديًا حسب الاسم.

أمثلة

يوضح كيفية العمل مع خصائص المستند المخصصة.

Document doc = new Document();
CustomDocumentProperties properties = doc.CustomDocumentProperties;

Assert.AreEqual(0, properties.Count);

// خصائص المستند المخصصة هي أزواج مفتاح-قيمة يمكننا إضافتها إلى المستند.
properties.Add("Authorized", true);
properties.Add("Authorized By", "John Doe");
properties.Add("Authorized Date", DateTime.Today);
properties.Add("Authorized Revision", doc.BuiltInDocumentProperties.RevisionNumber);
properties.Add("Authorized Amount", 123.45);

// تقوم المجموعة بفرز الخصائص المخصصة حسب الترتيب الأبجدي.
Assert.AreEqual(1, properties.IndexOf("Authorized Amount"));
Assert.AreEqual(5, properties.Count);

//طباعة كل خاصية مخصصة في المستند.
using (IEnumerator<DocumentProperty> enumerator = properties.GetEnumerator())
{
    while (enumerator.MoveNext())
        Console.WriteLine($"Name: \"{enumerator.Current.Name}\"\n\tType: \"{enumerator.Current.Type}\"\n\tValue: \"{enumerator.Current.Value}\"");
}

// عرض قيمة خاصية مخصصة باستخدام حقل DOCPROPERTY.
DocumentBuilder builder = new DocumentBuilder(doc);
FieldDocProperty field = (FieldDocProperty)builder.InsertField(" DOCPROPERTY \"Authorized By\"");
field.Update();

Assert.AreEqual("John Doe", field.Result);

// يمكننا العثور على هذه الخصائص المخصصة في Microsoft Word عبر "ملف" -> "خصائص" > "خصائص متقدمة" > "مخصص".
doc.Save(ArtifactsDir + "DocumentProperties.DocumentPropertyCollection.docx");

// فيما يلي ثلاث طرق لإزالة الخصائص المخصصة من المستند.
// 1 - الإزالة حسب الفهرس:
properties.RemoveAt(1);

Assert.False(properties.Contains("Authorized Amount"));
Assert.AreEqual(4, properties.Count);

// 2 - إزالة حسب الاسم:
properties.Remove("Authorized Revision");

Assert.False(properties.Contains("Authorized Revision"));
Assert.AreEqual(3, properties.Count);

// 3 - إفراغ المجموعة بأكملها مرة واحدة:
properties.Clear();

Assert.AreEqual(0, properties.Count);

أنظر أيضا