Unity项目热更新(ILRunTime中跨域继承第四篇)

本文探讨Unity项目中利用ILRuntime进行热更新时,如何实现DLL项目跨域继承主工程的类和接口。关键点在于主工程需创建适配器,详细介绍了接口及类的适配器代码实现。
摘要由CSDN通过智能技术生成

热更新的dll项目想要继承主工程的类或者接口必须在主工程中写一个适配器
接口类的代码如下:


using System;
using Game.CocoRenderer;
using ILRuntime.CLR.Method;
using ILRuntime.Runtime.Enviorment;
using ILRuntime.Runtime.Intepreter;
using UnityEngine;

namespace ILRuntime.Adapters.GameAdaptor
{
   
    public class CocoObjectAdaptor : CrossBindingAdaptor
    {
   
        public override Type BaseCLRType
        {
   
            get {
    return typeof(ICocoObject); }
        }

        public override Type AdaptorType
        {
   
            get {
    return typeof(Adaptor); }
        }

        public override object CreateCLRInstance(ILRuntime.Runtime.Enviorment.AppDomain appdomain,
            ILTypeInstance instance)
        {
   
            return new Adaptor(appdomain, instance);
        }

        public class Adaptor : ICocoObject, CrossBindingAdaptorType
        {
   
            ILTypeInstance instance;
            ILRuntime.Runtime.Enviorment.AppDomain appdomain;

            public Adaptor( )
            {
   
                
            }

            public Adaptor(ILRuntime.Runtime.Enviorment.AppDomain appdomain, ILTypeInstance instance)
            {
   
                this.appdomain = appdomain;
                this.instance = instance;
            }

            public ILTypeInstance ILInstance
            {
   
                get 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值