protected internal override object DeserializeFromString(WorkflowMarkupSerializationManager serializationManager, Type propertyType, string value)
        {
            if (serializationManager == null)
            {
                throw new ArgumentNullException("serializationManager");
            }
            if (propertyType == null)
            {
                throw new ArgumentNullException("propertyType");
            }
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }

            // Work around For Bind based properties whose base type is an
            // ICollection<string> or its derivative, special case! (A synchronization
            // handle cannot begin with a * because it won't be a language independent
            // identifier :) )
            if (IsValidCompactAttributeFormat(value))
            {
                return(DeserializeFromCompactFormat(serializationManager, serializationManager.WorkflowMarkupStack[typeof(XmlReader)] as XmlReader, value));
            }
            else
            {
                return(SynchronizationHandlesTypeConverter.UnStringify(value));
            }
        }
Esempio n. 2
0
 protected internal override string SerializeToString(WorkflowMarkupSerializationManager serializationManager, object value)
 {
     if (serializationManager == null)
     {
         throw new ArgumentNullException("serializationManager");
     }
     if (value == null)
     {
         throw new ArgumentNullException("value");
     }
     return(SynchronizationHandlesTypeConverter.Stringify(value as ICollection <string>));
 }
Esempio n. 3
0
 protected internal override object DeserializeFromString(WorkflowMarkupSerializationManager serializationManager, Type propertyType, string value)
 {
     if (serializationManager == null)
     {
         throw new ArgumentNullException("serializationManager");
     }
     if (propertyType == null)
     {
         throw new ArgumentNullException("propertyType");
     }
     if (value == null)
     {
         throw new ArgumentNullException("value");
     }
     if (base.IsValidCompactAttributeFormat(value))
     {
         return(base.DeserializeFromCompactFormat(serializationManager, serializationManager.WorkflowMarkupStack[typeof(XmlReader)] as XmlReader, value));
     }
     return(SynchronizationHandlesTypeConverter.UnStringify(value));
 }