gpt4 book ai didi

C# 添加仅使用代码的引用(没有 IDE "Add Reference"函数)

转载 作者:太空狗 更新时间:2023-10-29 22:25:03 24 4
gpt4 key购买 nike

我正在为一个程序编写一个插件,我想将我的代码放在一个 DLL 中,这样我就可以自由地共享插件而不会暴露(泄露)我的代码。

这是我可以访问的基本结构:

using System;
public class Plugin
{
public void Initialize()
{
//do stuff here
doWork();
}
}

然后我只引用我的代码所在的 .cs 文件,程序“吃掉”了这个插件。现在,我在那里放了几个逻辑,主要由不直接绑定(bind)到“Initialize()”的函数组成,仅在启动整个系统的 doWork() 函数上。

现在,我想将我所有的代码放在一个 DLL 中,然后从 Initialize()、myDll.doWork()(或类似的东西)内部调用。

PS:这个 dll 应该是一个已编译的 C# 库(它可以称为动态程序集导入吗?它不会真的是动态的,因为它无论如何都会在执行前编译,对吧?)

PS2:这样我还可以轻松添加表单、图像等自定义资源,对吧?

PS3:有没有免费的工具可以保护这样的DLL里面的代码? (即防止蜜蜂很容易重新设计)

提前致谢 =)

最佳答案

找到了我要找的东西,就在这里:

using System.Reflection;
using System.IO;

try
{
Assembly a = null;

a = Assembly.LoadFrom(Application.StartupPath startupPath + "MyAssembly.dll");

Type classType = a.GetType("MyNamespace.MyClass");
object obj = Activator.CreateInstance(classType);
MethodInfo mi = classType.GetMethod("MyMethod");

mi.Invoke(obj, null);
}
catch (Exception e)
{
AddLog(e.Message);
}

关于C# 添加仅使用代码的引用(没有 IDE "Add Reference"函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1413831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com