38 lines
1.4 KiB
C#
38 lines
1.4 KiB
C#
|
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
|
||
|
|
||
|
}
|