问题标签 [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.
c# - 静态类 C# 构造函数 OOP
我是 OOP 的新手,我想我不了解静态类。
我想创建一个静态类 Actions 和一个用于更改文本块外观的静态方法..
这是我的代码:
它有效,但我必须创建我的类的几个实例,恕我直言,这是没用的。
我更喜欢这样:
我知道,我必须定义一个静态类和静态构造函数:
问题是,我无法在静态构造函数中访问私有成员 StatusColors,也无法创建 StatusColors 的实例。
任何想法如何解决它?
谢谢。
android - AppContext.getResources().openRawResource() 的有效性
我在同一个应用程序中有 Activity A、Activity B 和一个静态类 。场景如下(这里简化了;在我的软件中更有意义):
- (在活动 A 中)mAppctx = this.getApplicationContext();
- (在活动 A 中)StaticClass.appctx = mAppctx;
- 活动 B 已生成
- 假设 Activity B 在运行时 Activity A 被系统销毁
- 活动 B 执行以下操作(伪代码):..... = StaticClass.appctx.getResources().openRawResource(...);
它是否正确?
由于应用上下文属于 Application (即属于进程),而不属于Activity,我想它是正确的,并且可以从静态类以这种方式访问 APK 资源没有任何问题。(我知道 Activity B 实际上可以自己询问 getApplicationContext() ,但上面的问题是故意不同的。)
widget - 如何清除或删除包含我的静态类的未命名小部件池
我正在使用 Progress 10.1c
我有一个包含静态和非静态方法的类。
该类是用 USE-WIDGET-POOL 定义的。在析构函数中,我说“DELETE WIDGET-POOL”。
我创建了我的类的一个实例,并调用了一个方法。该方法本身使用类的静态方法之一。因此,如果我理解正确,我现在将在其自己的未命名池中拥有我的类的实例,并为类的静态成员提供一个单独的未命名小部件池。
到目前为止,一切都很好。但是我正忙于调试并且正在对代码进行更改。我重新编译并再次运行我的测试。现在我的非静态成员工作了,但是所有静态成员都来自我的类的旧版本,它仍然存储在静态成员池中,它的作用域是会话。换句话说,我的析构函数中的“DELETE WIDGET-POOL”删除了类实例的池,但静态成员的池仍然存在。
我可以让它加载我的课程的新版本的唯一方法是注销我的会话,然后再次登录。这在我们的环境中是一项艰巨的任务。每次进行更改时,我都必须停止并启动我的开发环境。
我试图在会话中遍历对象列表,但找不到我要查找的内容。我很有可能从错误的对象开始,或者我缺少一些关于池和正在进行的对象的知识。
有什么方法可以让我定位那个未命名的池并删除我班级的静态“实例”,而不会每次都破坏我的会话?
android - 从静态类调用 AsyncTask
我有一个需要调用另一个的静态类,第一个是静态的,并阻止我调用第二个并出现以下错误:
异步任务类
静态类
谢谢!
php - PHP 静态类或命名空间
我想衡量人们对使用静态类而不是命名空间的看法。我来自 C++ 背景,非常喜欢它的语法以及它如何让您构建代码。我最近决定需要将我的代码分组为逻辑单元,而不仅仅是文件。例如,我更喜欢像 User::login 这样的调用而不是 user_login。所以,我做了一些谷歌搜索,发现 PHP 有命名空间,我松了一口气。不过我的解脱并没有持续多久,我真的不喜欢这种语法。它给我的函数调用增加了更多的混乱。所以,目前我正在使用静态类来模拟命名空间。这有什么缺点吗?
我在PHP Namespaces vs Classes with static functions中发现了一个类似的问题,但没有太多讨论。
另外,有没有办法避免以下情况:
我认为可以在不指定名称的情况下调用同一类中的函数,但显然不是。是否有任何解决方法(例如在 C++ 中有 using 关键字)。
c# - 带有枚举的 C# 静态类
我有一个棘手的问题困扰了我一段时间。我有以下代码声明...
我这样称呼代码“ ParameterUtilities.ParameterEnum.MAX_LOGIN_ATTEMPTS ”问题是每个满月我都会在这一行收到错误“对象引用未设置为对象的实例”......就像代码只能工作99.9%的时间...
我唯一想到的是,由于枚举是一种值类型,因此当调用静态类时枚举有可能为空......但我找不到任何关于这种行为的文档......
有人能告诉我为什么会这样吗?我知道我可能应该从静态类中删除枚举,并将枚举声明为独立的,但我想知道为什么会首先发生这种情况......
谢谢,
更新
好的,对于要求更多代码的每个人,以下是发生错误的完整功能......
c# - 它加载的应用程序和 dll 的两个实例
我有一个可执行文件(VC++),它使用不同的命令行参数运行两次,所以基本上有两个实例在运行。这个可执行文件加载一个 C# dll,我想知道的第一件事是是否将 dll 的两个实例加载到两个不同的实例。如果是,那么我在 dll 中有一个静态类,它将如何实例化,即,是否会有两个静态类实例,或者它会在两个进程之间共享。
当我尝试运行可执行文件的两个实例时,只有一个实例成功加载了 dll。
xaml - 双向绑定到静态类中的静态属性
这真的不可能吗?我有解决方案将单向绑定到静态类中的属性,当然我有解决方案将双向绑定到非静态类中的静态属性......但是......
我的意思是,解决方法很简单,我可以将我的静态类变成带有静态实例 getter 的单例(见这里),但是没有合适的方法吗?
我的课看起来像这样:
现在请假设我在设置器中以“正常”方式正确实现 INotifyPropertyChanged(为简单起见,省略)。
XAML 应该如何以双向方式绑定到此属性?谢谢。
android - 进度条小而下载的图像不可见
目前,我有一个类来下载 Asynctask 的图像扩展。我想实现一个小的进度条来向用户显示在该空间中加载的图像。我试图将 Asynctask 类放在类活动中。现在的问题是调用类我需要类是静态的。但是如果我把静态类我不能控制进度对话框。
我的班级下载图片:
要创建 ProgressBar,我认为我需要将类作为 Activity:
这是我为我的问题创建的解决方案:
现在的问题是如果我调用DownloadImage,这个类必须是静态的,但是如果我做静态我不能使用progressBar,除非它被声明为静态,如果我认为静态我不能用我的活动创建它。
有什么解决办法吗?
谢谢,对不起我的英语不好