问题标签 [static-classes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 静态构造函数中的异常
我已经在 SO 周围寻找答案,到目前为止我能找到的最好的是here,但是它适用于具有静态构造函数的实例;我只是静态地使用这个类。
我的代码:
因此,如果静态构造函数在第一次调用时抛出异常,那么当我第二次尝试访问静态 SendMail() 方法时会发生什么?
PS:抱歉,如果您不喜欢 Stroustrup 版本的 K&R 牙套样式,但不要编辑我的帖子只是为了将牙套更改为您喜欢的 Allman 样式。谢谢。
c# - 静态参数化类的实例会发生什么?
假设我有这个类:
让我直截了当地说...DispatcherService<T>
每种类型只有一个实例,并且只有在我调用它时。正确的?
只是询问内存问题。
c# - 在每个派生类中具有基类静态成员的单独副本
我有以下类结构:
我想让 HomePresenter 和 DevicePresenter 拥有在 PresenterBase 中定义的 methodsList 静态成员的单独副本。
不幸的是,它们与上述实现共享相同的副本。
他们是替代方法吗,我可以为 HomePresenter 和 DevicePresenter 拥有单独的 methodsList 副本?我不愿意在派生类中定义方法列表,因为将来如果有人添加另一个派生类,他将不得不记住将方法列表添加到该类。
design-patterns - 在遵循测试驱动开发范式时,我是否应该从不使用静态方法和类以及单例?
当您尝试在项目中实现单元测试时,我一直在阅读静态方法、静态类和单例是邪恶的。当遵循 TDD 范式时,我应该忘记它们曾经存在并且不再使用它们,还是有时可以使用它们?
c# - 枚举和使用带常量的静态类有什么区别?
这两个项目之间的性能影响是什么?我最近在野外看到了静态类,但我不知道该怎么做。
.net - c# vb:我们真的需要 System.Lazy 吗?
我们真的需要System.Lazy
吗?假设我的类库有 100 个静态类,每个静态类平均使用 100 个静态 System.Lazys = 10000 System.Lazys,当使用我的类库的程序启动时必须启动?
我的意思是我们通常不只使用 1 个类库,比如说我们导入 15 个 .dll,每个都有大量静态 System.Lazys .. 我很确定启动所有这些 System.Lazys 需要很长时间,更不用说它也会囤积大量内存(因为每个都有自己的 System.Func 让我们把它放在每个 50 字节 = 500kb 的内存中)
所以我想知道..最好以“旧”方式来做(比如使用布尔值来跟踪是否启动了某些东西)
javascript - Javascript 闭包和 *static* 类问题
我有一个包含回调函数数组的静态类,然后我有一些其他类用于与这个静态类交互......
这是静态类的一个简单示例:
然后这是与它交互的其他类的示例:
现在我遇到的问题是,当我调用任一类并告诉它 activateCallbacks() 时,这些类只在它们自己的范围内激活回调,即 SomeClassOne 会调用 someCallback() 但不会调用 someOtherCallback() ,反之亦然,现在我假设这与闭包的范围有关,但是我不确定如何获得我所追求的行为......
我尝试将静态类转换为常规类,然后通过构造函数将其传递给 2 个类,但仍然遇到同样的问题......
所以我的问题是如何让类引发所有回调
- 编辑 -
这是一个示例,显示与我在实际应用程序中遇到的相同问题,我已将所有脚本代码放入页面中以提供更清晰的示例:
http://www.grofit.co.uk/other/pubsub-test.html
这是一个简单的应用程序,有 2 个演示者和 2 个视图……一个视图涉及在页面顶部添加 2 个数字,第二个视图涉及获取总数并将其相乘并显示结果。
我使用的第 3 方库是PubSubJS,第一个演示者侦听一个事件,告诉它其中一个框已更改并重新汇总第一行。当顶部的乘法或总计发生变化时,第二个演示者会监听,然后重新计算底部的值。现在第一个演示者重新计算正确,而第二个演示者将在乘法框发生变化时正确重新计算,但是!当顶部的总数发生变化时,它不会重新计算,即使它应该收到通知......
无论如何,快速浏览一下页面上的源代码,看看我的意思......
oop - 静态类是如何实例化的
我想知道静态类是如何实例化的。我的意思是根据 OOPS 概念,没有实例化它就不能使用任何类。但是我们仍然可以使用静态类而不实例化它,那么静态类何时以及如何被实例化。
已编辑--------
当我继承一个抽象类并创建一个子类的实例时,我也对构造函数调用感到困惑。任何人都可以向我解释一下。
提前致谢。
c# - 为什么静态类的成员需要声明为静态的?为什么它不只是隐含的?
显然,静态类上不能有实例成员,因为该类永远不会被实例化。为什么我们需要将成员声明为静态的?