public static Dictionary <string, IMetadataValue> ToStaticMetadataDictionary(this IObjectWithMetadata objectWithMetadata) { Argument.IsNotNull(() => objectWithMetadata); var dictionary = new Dictionary <string, IMetadataValue>(); foreach (var metadata in objectWithMetadata.MetadataCollection) { var value = objectWithMetadata.GetMetadataValue(metadata.Name); var metadataValue = new MetadataValue(metadata); var subObjectWithMetadata = value as IObjectWithMetadata; if (subObjectWithMetadata != null) { metadataValue.Value = subObjectWithMetadata.ToStaticMetadataDictionary(); } else { metadataValue.Value = value; } dictionary.Add(metadata.Name, metadataValue); } return(dictionary); }
public static List <IMetadataValue> ToStaticMetadataList(this IObjectWithMetadata objectWithMetadata) { Argument.IsNotNull(() => objectWithMetadata); var metadataDictionary = objectWithMetadata.ToStaticMetadataDictionary(); return(metadataDictionary.ToStaticMetadataList()); }