问题标签 [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.

0 投票
13 回答
24960 浏览

c# - 用于预定义字符串的 C# 静态类与结构

一位同事刚刚在 C# 中创建了以下构造(示例代码已简化)。他的目标是缩短其余代码中所有预定义字符串的符号。

尽管这对他来说似乎工作得很好,但我不禁想知道他是否应该使用静态类而不是结构,或者是否有更优雅的方式来实现这一点。

这样做的首选方法是什么?还请解释原因。

0 投票
6 回答
3658 浏览

c# - 为什么要使用静态类?

我对静态类和静态方法有疑问。从 MSDN 我了解到“静态类和类成员用于创建无需创建类实例即可访问的数据和函数”。

因此,如果我们不想在实例上关联一个类,我们会将其设为静态。这是唯一的优势吗?任何人都可以指导我在哪个实时场景中使用静态课程。

在课堂上的某个时间(不是静态的)我正在寻找静态方法。静态方法在实际中比实例方法有什么优势/性能优势。

0 投票
4 回答
4208 浏览

asp.net-mvc - 应用服务层作为静态类

在我的 ASP.NET MVC 应用程序中,我有一个包含所有业务逻辑/服务层的项目。该项目与位于单独项目中的我的数据库(实体框架)交互。

我想轻松访问服务层,因此我在其中创建了静态类,以便可以轻松引用它们。例如,如果我在我的控制器中并且需要创建一个新帐户:

然后服务层执行所有需要的逻辑,然后通过DatabaseLayer.

因为我不想在我的服务层中到处执行以下操作:

相反,我为我的存储库创建了一个包装器类,这样我只需实例化一次即可使用所有其他存储库。

用于服务层的静态类。

因为我所有的服务层类都是静态的,并且Repos字段也是静态的,所以我一直遇到的明显问题是从多个数据上下文中检索到相同的对象,从而导致更新/删除的奇怪行为。

我知道如果我像使用静态成员/类一样使用静态成员/类,因为它们持续应用程序的生命周期,这是可以预期的,但是有没有办法能够使用服务层ServiceLayer.Accounts.Method()而无需创建非静态类哪个需要在使用它的任何地方进行实例化,并且不会由于多个数据上下文实例而遇到 CRUD 问题?

0 投票
4 回答
248 浏览

c# - 为什么我不能为静态类创建扩展方法?

当我尝试为 File 类创建扩展方法时,我收到一条错误消息,告诉我我不能这样做,因为该类是静态的。但是,我不明白为什么这会停止创建扩展方法,这意味着什么?

谢谢

0 投票
4 回答
1001 浏览

c# - C# - 哪个更高效且线程安全?静态类还是即时类?

考虑以下两种情况:

场景 1:使用静态辅助类。

场景 2:使用实例类。

如果在具有大约 100 个不同角色和超过 1000 个用户的 Web 环境中使用,哪个 [Broker] 场景将具有最佳扩展性。

注意:随意提出任何替代方法。

0 投票
1 回答
1453 浏览

c# - 我可以/应该在 asp.net/c# 中使用静态类来共享数据吗?

这是我的情况:我正在构建一个供学校团体使用的在线系统。任何时候只有一所学校可以登录系统,从那所学校您将获得大约 13 个用户。然后他们进入一个教育应用程序,在其中他们必须合作完成任务,并且从代码的角度来看,在整个地方共享变量。

我在想,如果我设置一个具有静态属性的静态类来保存需要共享的变量,这可以让我不必在数据库中/从数据库中存储/访问变量,只要静态变量都是应用程序启动时正确初始化并在最后清理。当然,我还必须在 get 和 set 方法上加锁,以使变量线程安全。

我脑海中的某件事告诉我,这可能是一种糟糕的处理方式,但我不确定为什么,所以如果人们可以给我他们的想法,支持或反对在这种情况下使用静态类,我将不胜感激。

0 投票
1 回答
419 浏览

php - get_call_class hack 不适用于 eval 代码

我正在使用ge_called_classhack 允许在 php 版本 5.2 中进行后期静态绑定(在此处找到)。

我的代码中有以下内容:

由于某种原因,这在 php 5.2 中不起作用,所以我这样做了:

另一方面,这不适用于该get_called_class功能。我收到一个错误,该file函数无法读取已评估的代码部分。

0 投票
5 回答
27951 浏览

java - 为什么Android更喜欢静态类

我看到很多 java 代码,其中 android 更喜欢让开发人员使用静态内部类。特别是对于自定义 ListAdapters 中的ViewHolder Pattern等模式。

我不确定静态类和非静态类之间有什么区别。我已经阅读过它,但在考虑性能或内存占用时它似乎没有意义。

0 投票
2 回答
1083 浏览

c# - 哪个静态类首先初始化?

如果我们的项目中还有一个静态类,哪个静态类首先初始化?

例如:下面的代码给出了空异常。

如果你注意,你会看到如果First类将初始化自己,那么secondArray字段Second将为空。但是如果Second类首先初始化,那么SecondfirstArray将为空。我试图告诉哪个初始化首先会产生不同的结果。

我认为这是关于我的项目的抽象问题。我在试图理解为什么我得到意想不到的结果时遇到了它。

0 投票
4 回答
6798 浏览

oop - 何时使用静态类和方法?

我有一个一般性问题...我应该什么时候使用静态类或静态方法?...我知道可以在不实例化的情况下调用静态方法的想法...而静态类只能用于静态方法?...但是它是否也存在任何性能问题......以及何时应该优先使用它们而不是实例方法和类?..如果有人可以简单地提及我应该何时选择使用它们以及何时应该避免它们?