using System;
|
using ILRuntime.CLR.Method;
|
using ILRuntime.Runtime.Enviorment;
|
using ILRuntime.Runtime.Intepreter;
|
|
namespace ILCrossBinding
|
{
|
public class OperationBaseAdapter : CrossBindingAdaptor
|
{
|
static CrossBindingFunctionInfo<System.DateTime, System.Int32, System.Int32> mIndexOfTime_0 = new CrossBindingFunctionInfo<System.DateTime, System.Int32, System.Int32>("IndexOfTime");
|
static CrossBindingFunctionInfo<System.String> mToDisplayTime_1 = new CrossBindingFunctionInfo<System.String>("ToDisplayTime");
|
static CrossBindingMethodInfo mReset_2 = new CrossBindingMethodInfo("Reset");
|
static CrossBindingFunctionInfo<System.Boolean> mSatisfyOpenCondition_3 = new CrossBindingFunctionInfo<System.Boolean>("SatisfyOpenCondition");
|
public override Type BaseCLRType
|
{
|
get
|
{
|
return typeof(Snxxz.UI.OperationBase);
|
}
|
}
|
|
public override Type AdaptorType
|
{
|
get
|
{
|
return typeof(Adapter);
|
}
|
}
|
|
public override object CreateCLRInstance(ILRuntime.Runtime.Enviorment.AppDomain appdomain, ILTypeInstance instance)
|
{
|
return new Adapter(appdomain, instance);
|
}
|
|
public class Adapter : Snxxz.UI.OperationBase, CrossBindingAdaptorType
|
{
|
ILTypeInstance instance;
|
ILRuntime.Runtime.Enviorment.AppDomain appdomain;
|
|
public Adapter()
|
{
|
|
}
|
|
public Adapter(ILRuntime.Runtime.Enviorment.AppDomain appdomain, ILTypeInstance instance)
|
{
|
this.appdomain = appdomain;
|
this.instance = instance;
|
}
|
|
public ILTypeInstance ILInstance { get { return instance; } }
|
|
protected override System.Int32 IndexOfTime(System.DateTime time, System.Int32 compare)
|
{
|
if (mIndexOfTime_0.CheckShouldInvokeBase(this.instance))
|
return base.IndexOfTime(time, compare);
|
else
|
return mIndexOfTime_0.Invoke(this.instance, time, compare);
|
}
|
|
public override System.String ToDisplayTime()
|
{
|
if (mToDisplayTime_1.CheckShouldInvokeBase(this.instance))
|
return base.ToDisplayTime();
|
else
|
return mToDisplayTime_1.Invoke(this.instance);
|
}
|
|
public override void Reset()
|
{
|
if (mReset_2.CheckShouldInvokeBase(this.instance))
|
base.Reset();
|
else
|
mReset_2.Invoke(this.instance);
|
}
|
|
public override System.Boolean SatisfyOpenCondition()
|
{
|
if (mSatisfyOpenCondition_3.CheckShouldInvokeBase(this.instance))
|
return base.SatisfyOpenCondition();
|
else
|
return mSatisfyOpenCondition_3.Invoke(this.instance);
|
}
|
|
public override string ToString()
|
{
|
IMethod m = appdomain.ObjectType.GetMethod("ToString", 0);
|
m = instance.Type.GetVirtualMethod(m);
|
if (m == null || m is ILMethod)
|
{
|
return instance.ToString();
|
}
|
else
|
return instance.Type.FullName;
|
}
|
}
|
}
|
}
|