- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我对 AppDomain.DoCallBack() 和泛型类型有一个奇怪的问题:
static void InvokeIsolated() {
AppDomain appDomain = AppDomain.CreateDomain("testDomain");
appDomain.DoCallBack(MyDoCallBack<string, string>); <-- ArgumentNullException!
}
static void MyDoCallBack<T, T1>() {}
我收到一个带有消息的 argumentnullexpcetion:“value cannot be null”当泛型类型相同时。
如果我将 doccallback 更改为:
appDomain.DoCallBack(MyDoCallBack<string, int>); <-- OK!
这意味着如果泛型类型不同,则没有问题。
有什么问题还是 .net 错误??
更新:如果使用泛型类型调用,lambda 不是解决方法:
static void Foo()
{
InvokeIsolated<string, string>();
}
static void InvokeIsolated<T, T1>()
{
AppDomain appDomain = AppDomain.CreateDomain("testDomain");
appDomain.DoCallBack(() => MyDoCallBack<T, T1>()); //<--ArgumentNullException
}
static void MyDoCallBack<T, T1>() {}
最佳答案
这是 .NET Remoting 基础结构中的错误。这是 .NET 内部代码中的崩溃。
我没有好的解决方法。您可以使用表达式树编译非通用包装函数。每组泛型类型参数都需要一个这样的 lambda。
关于c# - 具有多泛型问题的 AppDomain.DoCallBack(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28525602/
我正在尝试为多个 AppDomain 调用 DoCallBack,但它不是异步的。有没有办法使调用异步?这是我正在尝试做的事情: var appDomain1 = System.App
我对 AppDomain.DoCallBack() 和泛型类型有一个奇怪的问题: static void InvokeIsolated() { AppDomain appDomain = AppD
我想在另一个 AppDomain 中调用加载程序集,并在该程序集中调用一些函数。 它适用于 C# 代码: AppDomain otherDomain0 = AppDomain.CreateDomain
我将一个函数加载到新创建的 AppDomain 并且一切正常,但是如果我关闭程序然后重命名它并再次启动它,那么我将遇到 FileNotFound 异常。我只是不明白,怎么可能? 错误(appDomai
这是基于 Stack Overflow 问题:How to load an assembly as reflection-only in a new AppDomain? 我正在尝试确定程序集的运行时
我不断得到 “System.Runtime.Serialization.SerializationException”类型的异常 发生在 IRCBot.exe 但未在用户代码中处理来自 AppDoma
请考虑以下代码: // Create a new application domain AppDomain ad = AppDomain.CreateDomain("New domain"); Wor
我是一名优秀的程序员,十分优秀!