| virtual AddProperties(Func<MetadataProperty, bool>, PropertyValue) | Adds known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well. | 
| Clear() | Removes all XMP properties. | 
| Contains(string) | Determines whether the package contains a metadata property with the specified name. | 
| virtual FindProperties(Func<MetadataProperty, bool>) | Finds the metadata properties satisfying the specified predicate. The search is recursive so it affects all nested packages as well. | 
| GetEnumerator() | Returns an enumerator that iterates through the collection. | 
| override GetXmpRepresentation() | Converts the XMP value to the XML representation. | 
| Remove(string) | Removes the property with the specified name. | 
| virtual RemoveProperties(Func<MetadataProperty, bool>) | Removes metadata properties satisfying the specified predicate. | 
| virtual Sanitize() | Removes writable metadata properties from the package. The operation is recursive so it affects all nested packages as well. | 
| Set(string, bool) | Sets boolean property. | 
| Set(string, DateTime) | Sets DateTime property. | 
| Set(string, double) | Sets double property. | 
| Set(string, int) | Sets integer property. | 
| virtual Set(string, string) | Sets string property. | 
| virtual Set(string, XmpArray) | Sets the value inherited from XmpArray. | 
| virtual Set(string, XmpComplexType) | Sets the value inherited from XmpComplexType. | 
| Set(string, XmpValueBase) | Sets the value inherited from XmpValueBase. | 
| virtual SetProperties(Func<MetadataProperty, bool>, PropertyValue) | Sets known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well. This method is a combination of AddPropertiesandUpdateProperties. If an existing property satisfies the predicate its value is updated. If there is a known property missing in the package that satisfies the predicate it is added to the package. | 
| virtual UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) | Updates known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well. |