|
namespace System.Workflow.ComponentModel.Serialization
{
using System;
using System.Reflection;
using System.Xml;
using System.ComponentModel.Design.Serialization;
using System.Collections;
using System.Workflow.ComponentModel.Design;
using System.ComponentModel;
#region Class PropertySegmentSerializationProvider
internal sealed class PropertySegmentSerializationProvider : WorkflowMarkupSerializationProvider
{
#region IDesignerSerializationProvider Members
public override object GetSerializer(IDesignerSerializationManager manager, object currentSerializer, Type objectType, Type serializerType)
{
if (serializerType.IsAssignableFrom(typeof(WorkflowMarkupSerializer)))
{
if (currentSerializer is PropertySegmentSerializer)
return currentSerializer;
else if (objectType == typeof(PropertySegment))
return new PropertySegmentSerializer(null);
else if (currentSerializer is WorkflowMarkupSerializer)
return new PropertySegmentSerializer(currentSerializer as WorkflowMarkupSerializer);
else
return null;
}
else
{
return base.GetSerializer(manager, currentSerializer, objectType, serializerType);
}
}
#endregion
}
#endregion
}
|