• MaxScript里面覆盖.Net的Dll文件的方式


    MaxScript里面不能创建 AppDomain,所以不能卸载,但是可以覆盖,虽然多占用了资源,但是开发时方便了。

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace Test
    {
    public class TestClass
    {
    public int GetInt()
    {
    return 199;
    }
    }
    }

    Fn GetDotNetAssemblyByFile dllFileName =
    (
    local result
    DotNetAssembly
    = dotNetClass "System.Reflection.Assembly"

    tempFolder
    = SysInfo.TempDir
    sourceFileName
    = GetFilenameFile dllFileName
    tempPrefix
    = (GenClassID returnValue:true)[1] as string
    tempFileName
    = tempFolder + tempPrefix + sourceFileName + GetFilenameType dllFileName
    CopyFile dllFileName tempFileName
    result
    = DotNetAssembly.LoadFile tempFileName
    result
    )

    DotNetActivator
    = DotNetClass "System.Activator"

    TestAssembly
    = GetDotNetAssemblyByFile @"D:\TestProject\Test\Test\bin\Debug\Test.dll"
    TestClassType
    = TestAssembly.GetType("Test.TestClass")
    TestClassObject
    = DotNetActivator.CreateInstance TestClassType
    TestClassObject.GetInt()

  • 相关阅读:
    jquery常用操作@测试分享
    selenium 上传文件
    python 安装mysql驱动
    创建react项目
    入栈操作的合法性 【重复元素】
    git笔记
    python GUI实战项目——tkinter库的简单实例
    Excel更改单元格格式后无效
    Find the Difference
    Two Sum IV
  • 原文地址:https://www.cnblogs.com/sitt/p/1977307.html
Copyright © 2020-2023  润新知