RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-182601

anweledig's questions

Martin Hope
anweledig
Asked: 2020-09-07 01:46:29 +0000 UTC

集会是怎么回事?

  • 6

我遇到以下情况......

1) 在应用程序中创建域。
2) 我们通过DoCallBack程序集加载到其中Assembly.Load(...)
3) 我们从主域中获取先前创建的程序集,例如,显示它们的名称。
4) 我们查看主域中有哪些程序集,更具体地说,这个程序集出现在那里,我们将其上传到另一个域。

也就是说,当将程序集加载到另一个域时,如果您调用该方法GetAssemblies,加载的程序集也会出现在主域中,它们不仅会传输到那里,还会被复制——它们可以在两个域中使用。

如果你循环这个过程并观察内存,你可以看到它在增长,这意味着程序集每次都被加载到内存中。

最大的问题是为什么?如何摆脱将程序集移动到主域?这甚至不是内存问题,而是主域持有对程序集的引用并且不允许删除它的事实,例如。而且您需要以某种方式提取信息。

class Program
    {
        static void Main ( string [ ] args )
        {
            var appDomain = AppDomain.CreateDomain("TestDomain");
            appDomain.DoCallBack(LoadModule);

            var assembly = appDomain.GetAssemblies().Single( t => t.GetName().Name == "TestModule" );

            foreach ( var assembly1 in AppDomain.CurrentDomain.GetAssemblies() )
            {
                Console.WriteLine( assembly1.FullName );
            }
        }

        private static void LoadModule()
        {
            Assembly.Load( "TestModule" );
        }
    }
c#
  • 1 个回答
  • 10 Views
Martin Hope
anweledig
Asked: 2020-09-04 02:59:16 +0000 UTC

如何从另一个域获取类型名称?

  • 1

这是一个示例代码:

var setup = new AppDomainSetup();
            setup.PrivateBinPath = $"{Directory.GetCurrentDirectory()}\\Libs";
var appDomain = AppDomain.CreateDomain( "имя домена", null, setup );
appDomain.DoCallBack ( AssemblyLoad );

回调中的方法示例:

private static void AssemblyLoad()
{
    var assembly = Assembly.Load( "Test" );
    var type = assembly.GetTypes().Single( t => typeof( НужныйТип).IsAssignableFrom( t ) );
    Console.WriteLine( type.FullName );
    _typeName = type.FullName;
}

该变量_typeName也是静态的并且保持为空。如果您使该方法成为非静态的,那么域回调将导致错误。如何找出所需类型的名称?

c#
  • 1 个回答
  • 10 Views
Martin Hope
anweledig
Asked: 2020-08-01 00:52:53 +0000 UTC

如果有链接,为什么要指针?[复制]

  • 10
这个问题已经在这里得到回答:
C++ 中的引用和指针有什么区别 (2 个答案)
6 年前关闭。
#include <iostream>
using namespace std;

void display_ptr(int *ptrint) {
    cout << *ptrint << endl;
}

void display_addr(int &toint) {
    cout << toint << endl;
}

int main()
{
    int i{ 10 };
    display_ptr(&i);
    display_addr(i);
}

在这个例子中,与通过引用传递值相比,用指针构造的可能性对我来说是不可理解的。

如您所见,要通过指针使用一个值,您需要使用 获取它*,并使用 将它传递给参数&。

使用按引用传递,除了在参数本身中指定外,不需要任何其他内容,同时也不会复制值,也可以通过引用更改它。

我不太明白利润指针有什么,如果通过引用传递一个值会方便得多。

c++
  • 2 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5