/// <summary> /// Indexer by guid /// </summary> /// <param name="key">Property Key</param> /// <returns>Property or null if not found</returns> public PropertyStoreProperty this[PropertyKey key] { get { for (int i = 0; i < Count; i++) { PropertyKey ikey = Get(i); if ((ikey.formatId == key.formatId) && (ikey.propertyId == key.propertyId)) { PropVariant result; Marshal.ThrowExceptionForHR(storeInterface.GetValue(ref ikey, out result)); return new PropertyStoreProperty(ikey, result); } } return null; } }
/// <summary> /// Contains property guid /// </summary> /// <param name="key">Looks for a specific key</param> /// <returns>True if found</returns> public bool Contains(PropertyKey key) { for (int i = 0; i < Count; i++) { PropertyKey ikey = Get(i); if ((ikey.formatId == key.formatId) && (ikey.propertyId == key.propertyId)) { return true; } } return false; }