SetProperties
Metadata.SetProperties method
设置满足指定谓词的已知元数据属性。 该操作是递归的,因此它也会影响所有嵌套包。 此方法是以下方法的组合AddProperties
和UpdateProperties
如果现有属性满足谓词,则更新其值。 如果包中缺少满足谓词的已知属性,则将其添加到包中。
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);
}
也可以看看
- delegate Func<T,TResult>
- class MetadataProperty
- class PropertyValue
- class Metadata
- 命名空间 GroupDocs.Metadata
- 部件 GroupDocs.Metadata