public TagsCollectionVersionOne(IPropertyBagHolderVersionOne propertyBagHolder) { if (propertyBagHolder == null) { throw new ArgumentNullException(nameof(propertyBagHolder)); } _propertyBagHolder = propertyBagHolder; }
public void SetPropertiesFrom(IPropertyBagHolderVersionOne other) { if (other == null) { throw new ArgumentNullException(nameof(other)); } // We need the concrete class because the IPropertyBagHolderVersionOne interface // doesn't expose the raw Properties array. PropertyBagHolderVersionOne otherHolder = other as PropertyBagHolderVersionOne; Debug.Assert(otherHolder != null); Properties = other.PropertyNames.Count > 0 ? new Dictionary <string, SerializedPropertyInfo>() : null; foreach (string propertyName in other.PropertyNames) { SerializedPropertyInfo otherInfo = otherHolder.Properties[propertyName]; Properties[propertyName] = new SerializedPropertyInfo(otherInfo.SerializedValue, otherInfo.IsString); } }