SetProperties

Metadata.SetProperties method

设置满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。 此方法是以下方法的组合AddPropertiesUpdateProperties 如果现有属性满足谓词,则更新其值。 如果包中缺少满足谓词的已知属性,则将其添加到包中。

public int SetProperties(Func<MetadataProperty, bool> predicate, PropertyValue value)
范围 类型 描述
predicate Func`2 用于测试条件的每个元数据属性的函数。
value PropertyValue 筛选属性的新值。

返回值

受影响的属性的数量。

评论

请注意,GroupDocs.Metadata 隐式检查每个筛选属性的类型。 无法设置具有不适当类型的值的属性。

了解更多

例子

此示例演示如何使用不同的条件设置特定的元数据属性。

using (Metadata metadata = new Metadata(Constants.InputVsdx))
{
    // 设置满足谓词的每个属性的值:
    // 属性包含文档创建或修改的日期/时间
    var affected = metadata.SetProperties(
    p => p.Tags.Contains(Tags.Time.Created) || p.Tags.Contains(Tags.Time.Modified),
    new PropertyValue(DateTime.Now));

    Console.WriteLine("Properties set: {0}", affected);

    metadata.Save(Constants.OutputVsdx);
}

也可以看看