using System;
|
using ILRuntime.CLR.Method;
|
using ILRuntime.Runtime.Enviorment;
|
using ILRuntime.Runtime.Intepreter;
|
namespace ILCrossBinding
|
{
|
public class DtcBasicAdapter : CrossBindingAdaptor
|
{
|
static CrossBindingMethodInfo<global::GameNetPackBasic> mDone_0 = new CrossBindingMethodInfo<global::GameNetPackBasic>("Done");
|
public override Type BaseCLRType
|
{
|
get
|
{
|
return typeof(global::DtcBasic);
|
}
|
}
|
|
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 : global::DtcBasic, 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; } }
|
|
public override void Done(global::GameNetPackBasic vNetPack)
|
{
|
if (mDone_0.CheckShouldInvokeBase(this.instance))
|
base.Done(vNetPack);
|
else
|
mDone_0.Invoke(this.instance, vNetPack);
|
}
|
|
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;
|
}
|
}
|
}
|
}
|