问题标签 [static-class]

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 投票
1 回答
1007 浏览

c# - 带有静态类的 httpcontext 来存储和检索会话数据

我想存储我的全局数据,直到它插入数据库。所以,我想实现一个可以处理创建和存储会话值的客户类。所以,下面是我的代码。

我正在从我的网页分配物业代码,如下所示

在此之后我想访问如下的会话值

但是,我无法访问会话值。每一次,我都得到了null价值。为什么?我的错误在哪里?

0 投票
3 回答
1288 浏览

c# - 单例和静态类 c# 的实际用法

我首先不想知道单例和静态类之间的区别。我想知道人们什么时候应该使用单例类以及什么时候应该使用静态类。

在我的应用程序中,我将静态类用于帮助程序或实用程序方法,并将单例用于数据库连接和错误记录器类。但在静态类的帮助下,可用于返回 sql db 连接对象以及错误日志记录系统。

我真的很想了解其他高级开发人员在哪里使用单例类以及在哪里使用静态类。

如果有人用示例情况和示例代码讨论这个问题,那将非常有帮助。谢谢

0 投票
1 回答
866 浏览

static - 无论类的实例是否存在,都只存在一个静态成员副本。这是什么意思?

我正在学习静态类和静态方法。然后我遇到了以下行:

无论类的实例是否存在,都只存在一个静态成员副本。

它实际上是什么意思?

它在 msdn 文档http://msdn.microsoft.com/en-us/library/79b3xss3.aspx中如下:

非静态类可以包含静态方法、字段、属性或事件。即使没有创建类的实例,静态成员也可以在类上调用。静态成员总是由类名访问,而不是实例名。无论创建了多少个类实例,都只存在一个静态成员的副本。静态方法和属性不能访问其包含类型中的非静态字段和事件,并且它们不能访问任何对象的实例变量,除非它在方法参数中显式传递。

0 投票
1 回答
35 浏览

static-class - 是类似于缓存还是会话的静态类

是否可以在 asp.net Web 应用程序(内联网)中使用静态类而不是 Session、Cache 或(或)Cookie ......

目前在我的新项目中,我正在使用一个静态类并将所有需要的数据存储在这个类的多个页面中作为哈希表。它工作正常,到目前为止我没有遇到任何问题。

可以这样使用吗?它是否会导致任何问题,例如数据被删除,例如在缓存或会话到期时如何发生。?

在哪些可能的情况下,我可以期待任何问题。任何人都可以澄清这一点。

提前致谢

0 投票
1 回答
37 浏览

php - php中的静态类属性问题

我正在开发一个简单的匿名登录系统,我有一个Session如下所示的类:

当我这样称呼班级时:Session::loginUser();

var_dumps()函数中的看起来loginUser像这样:

在此处输入图像描述

因此,我的登录功能被破坏(没有设置 cookie),因为类上的静态属性self::$cookieLifeSpanInDays为空。我在这里做错了什么?

0 投票
1 回答
1267 浏览

c# - 隐式初始化静态类

是否可以在应用程序“自动”启动时初始化静态类?自动我的意思是不需要引用属性。

我希望能够这样做的原因是我想在启动时自动为应用程序设置主题。

这是一个简短的片段:

我知道我可以(目前就是这样)使用原始的 getter/setter 并调用

在 App 的构造函数中(它是 WPF 项目),它会完成这项工作,但是,至少从我的角度来看(如果我弄错了,请纠正我)如果没有应用默认主题会更有意义需要明确说明。

0 投票
4 回答
3805 浏览

java - Bloch Effective Java - 喜欢静态类而不是非静态类 - 有多少实例?

我想知道封闭类可以创建多少个静态成员类的实例。我假设只有一个,但是下面的 Bloch 摘录对我来说没有意义。

引用 Joshua Bloch 的 Effective Java - 第 22 条*:偏爱静态成员类而不是非静态成员类。

私有静态成员类的一个常见用途是表示由其封闭类表示的对象的组件。例如,考虑一个 Map 实例,它将键与值相关联。许多 Map 实现对于 map 中的每个键值对都有一个内部 Entry 对象。虽然每个条目都与映射相关联,但条目上的方法(getKey、getValue 和 setValue)不需要访问映射。因此,使用非静态成员类来表示条目是很浪费的:私有静态成员类是最好的。如果不小心在入口声明中省略了 static 修饰符,地图仍然可以工作,但是每个入口都会包含对地图的多余引用,这会浪费空间和时间。

他指出,映射为映射中的每个键值对创建一个Entry 对象,即静态成员类的多个实例。

所以我的假设是错误的!这意味着我对静态成员类的理解是错误的。每个人都知道静态成员变量的行为方式,例如经典的静态最终字符串——对象只有一个实例。

这是否意味着在实例化封闭对象时实际上并未实例化静态成员类?

那么在这种情况下,Map 使用静态成员类作为 Entry 的意义何在?为什么不直接在 API 上使用接口?然后,每个其他 Collections 类都可以提供它自己的实现。

[*] 刚刚意识到这是我所拥有的 PDF 版本中的第 18 项

0 投票
3 回答
95 浏览

php - 在纯静态类中禁止构造函数是一种好习惯吗?

在我正在处理的应用程序中,有一些类只有静态函数。

这些类不遵循单例模式。将它们视为“工具”。

不是真实的例子:

禁止使用...进行施工是一种好习惯吗?

只是为了防止这样的类被实例化?

0 投票
1 回答
74 浏览

c# - 存储为属性的静态类

我有一个名为State的静态抽象类,它定义了抽象方法start()update(),然后我有多个实现State的类。

现在我想创建一个类,我们称之为StateMachine,它有一个名为currentState的属性。我希望能够将此属性设置为指向实现状态的静态类,以便我可以运行诸如currentState.update()之类的东西。

现在是我的问题:

财产的类型应该是什么?我会说状态,但我觉得还有更多的东西。另外,我将如何设置属性?是

一个有效的事情吗?

编辑:好的,所以我刚刚了解到您不能从 C# 中的静态类继承。我想知道一种做与此类似的事情的方法,它可以让我同时拥有多态性并且不必实例化状态对象。有这样的事吗?

0 投票
1 回答
62 浏览

c# - 如何制作更新自身的静态类?(类似于鼠标)

如您所知,鼠标是一个静态类。它有一个名为 的静态属性Mouse.Position。该属性是动态更新的(可能绑定到鼠标??)。(我已经阅读了 msdn 中的鼠标文档)

我需要在这种情况下构建一个相同的类。

我正在制作一个能够有多个页面的应用程序,并且每个页面共享,例如,Margin价值。

有两种选择(我认为)可以做到:

  1. 在“页面”类中创建一个字段,并通过构造函数传递值(最简单)
  2. 静态类,类似于Mouse.Position用法,但是,在这种情况下,例如,PageInformation.MarginPageInformation是类,不是属性也不是字段)

我更喜欢第二个选项,因为它更容易调试(我猜),并且如果用户以某种方式更改了 Margin,则在更新期间使 Page 类更清洁、无代码和更容易..

有人知道该怎么做吗?(首选mvvm方式)

谢谢。

更新: PS 我已经了解基本的 mvvm 实践(INPC 等)

到目前为止,这是我的应用程序中的通用代码: