Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法在C#的静态类中声明实例成员

无法在C#的静态类中声明实例成员
EN

Stack Overflow用户
提问于 2010-06-17 16:13:15
回答 7查看 114.7K关注 0票数 51

我有一个public static class,我尝试从C#中的app.config文件访问appSettings,得到标题中描述的错误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static class employee
{
    NameValueCollection appSetting = ConfigurationManager.AppSettings;    
}

我怎么才能让它工作呢?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-06-17 16:14:02

如果类声明为静态,则所有成员也必须是静态的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
static NameValueCollection appSetting = ConfigurationManager.AppSettings;

您确定希望employee类是静态的吗?几乎可以肯定的是,你不想要这种行为。从类和成员中删除静态约束可能会更好。

票数 100
EN

Stack Overflow用户

发布于 2010-06-17 16:15:05

它说的是它的意思:

让你的类成为非静态的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class employee
{
  NameValueCollection appSetting = ConfigurationManager.AppSettings;    
}

或成员static:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static class employee
{
  static NameValueCollection appSetting = ConfigurationManager.AppSettings;    
}
票数 6
EN

Stack Overflow用户

发布于 2010-06-17 16:15:22

在静态类中声明实例成员是非法的。静态类不能被实例化,因此拥有一个实例成员是没有意义的(它们永远不会被访问)。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3063481

复制
相关文章
成员以其在类中声明的顺序构造
分析以下代码的输出: #include<iostream> using namespace std; class A { public: A(int j):age(j) , num(age + 1) { cout<<"age:"<<age<<",num:"<<num<<endl; } protected: int num; int age; }; void main() { A sa(15); }  运行结果:age:15 , num:2(num为一个随机数) 由于按成员在类定义中的声明
猿人谷
2018/01/17
1.5K0
【C++】静态成员函数 ( 静态成员函数概念 | 静态成员函数声明 | 静态成员函数访问 | 静态成员函数只能访问静态成员 )
静态成员函数归属 : 在 C++ 类中 , 静态成员函数 是一种 特殊的函数 , 该函数属于类 , 而不是属于 类实例对象 ;
韩曙亮
2023/10/15
1.6K0
【C++】静态成员函数 ( 静态成员函数概念 | 静态成员函数声明 | 静态成员函数访问 | 静态成员函数只能访问静态成员 )
C++_类中静态成员
在C语言中曾经学习过静态变量, 其定义为经过static修饰过的变量, 其有着与整个源程序相同的生命周期, 其作用域与自动变量相同, 又分为静态全局变量和静态局部变量.
木杉乀
2021/05/06
5520
C#基础知识系列六(静态类和静态类成员)
  静态类与非静态类基本相同,但存在一个区别:静态类不能实例化。 也就是说,不能使用 new 关键字创建静态类类型的变量。 因为没有实例变量,所以要使用类名本身访问静态类的成员。 例如,如果名为 UtilityClass 的静态类有一个名为 MethodA 的公共方法,则按下面的示例所示调用该方法:
aehyok
2018/08/31
8370
【C++】静态成员变量 ( 静态成员变量概念 | 静态成员变量声明 | 静态成员变量初始化 | 静态成员变量访问 | 静态成员变量生命周期 )
静态成员归属 : 静态成员变量 是特殊的成员变量 , 是 类所有的 成员 , 而不是对象所有的成员 ;
韩曙亮
2023/10/15
1.7K0
【C++】静态成员变量 ( 静态成员变量概念 | 静态成员变量声明 | 静态成员变量初始化 | 静态成员变量访问 | 静态成员变量生命周期 )
类的静态成员变量
类的静态成员要在类内声明,类外定义。这样做的原因参照 here类外定义时又要注意哪些内容呢?不在头文件中定义静态成员变量这是“尽量不在头文件中定义变量”(参考)的延伸。错误的代码示例class.h#ifndef __CLASS_H#define __CLASS_Hclass A{ static int var;};int A::var = 1;#endifmain.cppint main() { return 0;}test1.cpp#include "class.h"test2
村子里的设计师
2023/05/20
1K0
静态方法(类方法)与非静态方法(成员方法/实例方法)
(访问变量区别)非静态方法可以访问类中的任何成员(静态与非静态//方法与变量); 但静态方法只能访问静态成员(包括方法和变量)。 (被调用区别)非静态方法必须由实例对象来调用,而静态方法除了可由实例对象调用外,还可以由类名直接调用。 (super,this)非静态方法中可以使用super、this关键字,但在静态方法中不能使用super、this关键字。
用户9854323
2022/06/25
2.2K0
C++类的静态数据成员和静态成员函数
一些类对象可能会具有一些相同的属性,如果用普通数据成员来描述这些相同的属性,这意味着我们需要给每个对象的这个数据成员设定相同的值,如果改变类对象相同的属性,那么意味着我们需要对它们统一操作,这就有可能出现它们的值会不一样的情况,如果用全局变量来描述它们相同的属性,就会破坏类的独立性。
叶茂林
2023/07/30
2050
Python中类的声明,使用,属性,实例
注意这里的方法__intit__(self)下划线是前面两个下划线,后面两个下划线,并不是一个下划线。
py3study
2020/01/15
5.6K0
Dart类中static静态成员及访问
class Person { //用static关键字声明静态成员 static var name = "zz"; //静态值 var age = 18; static void show() {//静态方法可以访问静态成员,但是不可以访问非静态的成员 print(name); } void getInfo() {//非静态成员可以访问静态成员以及非静态成员 print(name); //访问静态属性 print(this.age); //访问非静态属性
明知山
2020/09/03
1.2K0
【C++】继承 ⑩ ( 继承机制中的 static 静态成员 | 子类中访问父类静态成员的方法 )
子类继承父类静态成员 : 父类 ( 基类 ) 中 使用 static 关键字 定义的 静态成员变量 , 可以被所有的 子类 ( 派生类 ) 共享 ;
韩曙亮
2023/10/26
5740
【C++】继承 ⑩ ( 继承机制中的 static 静态成员 | 子类中访问父类静态成员的方法 )
C++ 类的静态成员
我们可以使用 static 关键字来把类成员定义为静态的。当我们声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本。 静态成员在类的所有对象中是共享的。如果不存在其他的初始化语句,在创建第一个对象时,所有的静态数据都会被初始化为零。我们不能把静态成员的初始化放置在类的定义中,但是可以在类的外部通过使用范围解析运算符 :: 来重新声明静态变量从而对它进行初始化,如下面的实例所示。
用户7272142
2023/10/19
2600
静态成员在PHP中是怎么继承的?
静态成员,也就是用static修饰的变量或者方法,如果搞不清楚它们实现的原理,就很容易会出现一些错误。这次我们来研究的是在继承中静态成员的调用情况。首先来看这样一段代码:
硬核项目经理
2020/02/17
1.4K0
CA1000:不要在泛型类型中声明静态成员
泛型类型包含 static(在 Visual Basic 中为 Shared)成员。
呆呆
2022/01/09
4960
C++静态类成员
静态类成员通常适用于当一个类的所有对象之间需要共享同一份数据的时候,这样子能节省空间,提高效率。
灯珑LoGin
2022/10/31
6720
Dart 中类的静态成员、类的继承、覆写父类方法
1. Dart中的静态成员 定义静态成员 非静态方法可以访问静态成员以及非静态成员 静态方法没法访问非静态成员。 2. Dart中与方法有关的操作符 ? 条件运算符 is 类型判断 as 类型转换 .
越陌度阡
2020/12/08
3.3K0
C++:09---类静态成员、类常量成员
一、类静态成员(static) 先介绍一下什么是静态变量、静态函数 静态局部变量:存在域(全局数据区),作用域(块作用域) 静态全局变量:存在域(全局数据区),作用域(整个文件) 静态函数:存在域(全局数据区),作用域(整个文件) static int a=10;//全局静态变量 static void add();//静态函数 int main() { { static int b=10;//局部静态变量 } } 特点: 静态static修饰的变量、函数,只需要初始化一
用户3479834
2021/02/03
1.6K0
C++:09---类静态成员、类常量成员
Java中静态变量(类变量)、实例变量、局部变量和成员变量
学习Java的过程中,一开始很容易被这些各种变量绕晕,这篇博客主要介绍了这几种变量之间的关系和区别。
用户8639654
2021/07/19
2.3K0
python类成员变量和实例成员变量
print 'need %f hour(s)'% (distance/self.speed)
用户7886150
2020/12/20
1.4K0
c++中的静态成员
静态成员变量特点: 1.所有对象共享一份数据 2.在编译阶段分配内存(程序还没运行前就分配内存) 3.类内声明,类外初始化(不初始化,无法使用)
大忽悠爱学习
2021/02/22
7170
c++中的静态成员

相似问题

错误:无法在静态类中声明实例成员

21

不能在静态类中声明实例成员

21

Windows不能在C#中的静态类中声明实例成员

12

Xamarin绑定类别返回错误:无法在静态类中声明实例成员

10

为什么类静态成员被视为声明,而实例成员却不声明?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文