作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想对GCHandle.Alloc(Object)的契约有一个严格的理解。
我从文档中了解到,如果我打电话:
GCHandle gc = GCHandle.Alloc(foo);
gc.Free();
最佳答案
正确的。 GCHandle 变量对传递给 GCHandle.Alloc() 的对象的生命周期没有影响。我用以下两个类验证了这一点:
class Test
{
public Test ()
{
System.Runtime.InteropServices.GCHandle.Alloc(this);
}
~Test ()
{
}
}
class Server : MarshalByRefObject
{
public Server ()
{
new Test();
}
public void Collect ()
{
GC.Collect();
GC.WaitForPendingFinalizers();
}
}
AppDomain ad = AppDomain.CreateDomain("test");
Server svr = (Server)ad.CreateInstanceAndUnwrap(
System.Reflection.Assembly.GetExecutingAssembly().FullName,
typeof(Server).FullName);
for (Int32 i = 0; i < 100; i++)
svr.Collect();
关于.net - GCHandle.Alloc(Object) 的契约究竟是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7688287/
Feel free to skip straight to TL/DR if you're not interested in details of the question 简短的序言: 我最近决定
我一直在阅读 A Tour of Go学习Go-Lang到目前为止一切顺利。 我目前在 Struct Fields类(class),这是右侧的示例代码: package main import "fm
Last time I got confused顺便说一下PowerShell急切地展开集合,基思总结了它的启发式如下: Putting the results (an array) within a
我是一名优秀的程序员,十分优秀!