New file |
| | |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |