作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我很想知道为什么 C# 中不允许使用静态析构函数。请注意,我并不是假设它们以任何其他语言存在。
我可以上这样的课。
class A
{
static A()
{
// here I can load a resource that will be avaliable for all instances
// of this class.
}
}
当应用程序结束时,我可能需要释放资源。
因此,静态析构函数的语义可能如下:在应用程序结束时调用,用于包含它并在应用程序中初始化的类。
最佳答案
您的语义是一种可能,但我想您还没有检查它对语言的所有影响。在我所知道的大多数(或多或少)动态语言中,销毁是一个看起来要复杂得多的主题。当类不再被引用时,为什么不调用析构函数呢?或者如果组件被卸载?应该以什么顺序调用析构函数? ...?
如果您只想在应用程序结束时执行一些代码,请查看 .Net 文档。有更简单、更可靠的方法可以做到这一点。
关于c# - 为什么不在 C# 中使用静态析构函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12709276/
我是一名优秀的程序员,十分优秀!