VCardCard

VCardCard class

表示从VCard文件中提取的单张卡片。

public class VCardCard : VCardRecordset

特性

姓名 描述
CalendarRecordset { get; } 获取日历记录。
CommunicationRecordset { get; } 获取通讯记录。
Count { get; } 获取元数据属性的数量。
DeliveryAddressingRecordset { get; } 获取收货地址记录。
ExplanatoryRecordset { get; } 获取解释记录。
ExtensionRecords { get; } 获取私有分机记录。
GeneralRecordset { get; } 获取一般记录。
GeographicalRecordset { get; } 获取地理记录。
IdentificationRecordset { get; } 获取标识记录。
Item { get; } 获取MetadataProperty具有指定名称.
Keys { get; } 获取元数据属性名称的集合。
MetadataType { get; } 获取元数据类型。
OrganizationalRecordset { get; } 获取组织记录。
PropertyDescriptors { get; } 获取描述符集合,其中包含有关可通过 GroupDocs.Metadata 搜索引擎访问的属性的信息。
SecurityRecordset { get; } 获取安全记录。

方法

姓名 描述
AddProperties(Func<MetadataProperty, bool>, PropertyValue) 添加满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。
Contains(string) 确定包是否包含具有指定名称的元数据属性。
FilterByGroup(string) 按作为参数传递的组名过滤所有 vCard 记录。 有关详细信息,请参阅方法.
FilterHomeTags() 过滤所有标有 HOME 标签的 vCard 记录。
FilterPreferred() 过滤首选记录。
FilterWorkTags() 过滤所有标有 WORK 标签的 vCard 记录。
virtual FindProperties(Func<MetadataProperty, bool>) 查找满足指定谓词的元数据属性。 搜索是递归的,因此它也会影响所有嵌套包。
GetAvailableGroups() 获取可用的组名。
GetEnumerator() 返回一个遍历集合的枚举器。
virtual RemoveProperties(Func<MetadataProperty, bool>) 删除满足指定谓词的元数据属性。
virtual Sanitize() 从包中删除可写元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。
SetProperties(Func<MetadataProperty, bool>, PropertyValue) 设置满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。 此方法是以下方法的组合AddPropertiesUpdateProperties 如果现有属性满足谓词,则更新其值。 如果包中缺少满足谓词的已知属性,则将其添加到包中。
UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) 更新满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。

评论

了解更多

例子

此示例说明如何使用 vCard 属性过滤器。

public static void Run()
{
    using (Metadata metadata = new Metadata(Constants.InputVcf))
    {
        var root = metadata.GetRootPackage<VCardRootPackage>();

        foreach (var vCard in root.VCardPackage.Cards)
        {
            // 打印最喜欢的工作电话号码和工作电子邮件
            var filtered = vCard.FilterWorkTags().FilterPreferred();
            PrintArray(filtered.CommunicationRecordset.Telephones);
            PrintArray(filtered.CommunicationRecordset.Emails);
        }
    }
}

private static void PrintArray(string[] values)
{
    if (values != null)
    {
        foreach (string value in values)
        {
            Console.WriteLine(value);
        }
    }
}

也可以看看