C# 字段初始值设定项无法引用非静态字段、方法或属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 字段初始值设定项无法引用非静态字段、方法或属性相关的知识,希望对你有一定的参考价值。
public class Asses public string p; OleDbConnection Opeen = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + p); public Asses()
这个是说你的 OleDbConnection Opeen = new OleDbConnection (@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + p); 这句话不能包含p;你可以把这写在构造函数里:
OleDbConnection Opeen = null;
public Asses(string connString)
p = connString;
Opeen = new OleDbConnection (@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + p);
参考技术A public class Asses
public string p=‘你的数据源’;
OleDbConnection Opeen = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + p);
public Asses()
C#变量初始化问题:字段初始值无法引用非静态字段方法或属性
问题:字段初始值设定项无法引用非静态字段、方法或属性的问题
下面代码出错的原因,在类中定义的字段为什么不能用?
public class Test
{
public Test()
{
}
public int Age=23;
public int temp = Age;//ERROR 字段初始值设定项无法引用非静态字段、方法或属性
}
C#规定在类内部只能定义属性或者变量,并初始化,不能直接变量引用变量。
在初始化类实例之前就调用了字段
c# 中字段的初始化先于构造函数。
string y = "asdf" + x; 实际上是 y = "asdf" + this.x;
因为这时this还没被初始化,所以编译会报错。
属性内存和变量内存的分配的时间不一样。
属性是用的时候分配,变量是在类初始化时候分配。
以上是关于C# 字段初始值设定项无法引用非静态字段、方法或属性的主要内容,如果未能解决你的问题,请参考以下文章