36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
namespace System.Workflow.ComponentModel.Serialization
|
|
{
|
|
using System;
|
|
using System.IO;
|
|
using System.Reflection;
|
|
using System.Collections;
|
|
using System.Runtime.Serialization;
|
|
using System.Runtime.Serialization.Formatters.Binary;
|
|
|
|
internal sealed class ActivityExecutorSurrogate : ISerializationSurrogate
|
|
{
|
|
public ActivityExecutorSurrogate()
|
|
{
|
|
}
|
|
public void GetObjectData(object obj, SerializationInfo info, StreamingContext context)
|
|
{
|
|
info.AddValue("executorType", obj.GetType());
|
|
info.SetType(typeof(ActivityExecutorRef));
|
|
}
|
|
public object SetObjectData(object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
[Serializable]
|
|
private sealed class ActivityExecutorRef : IObjectReference
|
|
{
|
|
private Type executorType = null;
|
|
Object IObjectReference.GetRealObject(StreamingContext context)
|
|
{
|
|
return ActivityExecutors.GetActivityExecutorFromType(this.executorType);
|
|
}
|
|
}
|
|
}
|
|
}
|