C# 字段初始值设定项无法引用非静态字段、方法或属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 字段初始值设定项无法引用非静态字段、方法或属性相关的知识,希望对你有一定的参考价值。

string date= monthCalendar1.SelectionStart.ToString("yyyy-MM-dd");
string nei = richTextBox1.Text;
我想在public中定义date和nei,不需要在每个butten中再定义;
monthCalendar1是个时间控件,怎么实现,求解。
get

return monthCalendar1.SelectionStart.ToString("yyyy-MM-dd");

下面butten控件中不起作用

public string Date

        get
        
                return monthCalendar1.SelectionStart.ToString("yyyy-MM-dd");
        


public string Nei

        get
        
                return richTextBox1.Text;
        

参考技术A 数据类型前加const修饰符,定义成常量

数据类型前加static修饰符,定义成静态变量、字段、方法或属性
参考技术B datetime data= monthCalendar1.SelectionStart;它本身返回是个时间结构 参考技术C public string date=string.Empty;
public string nei=string.Empty;
参考技术D public string Date

get

return monthCalendar1.SelectionStart.ToString("yyyy-MM-dd");



public string Nei

get

return richTextBox1.Text;

本回答被提问者和网友采纳

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# 字段初始值设定项无法引用非静态字段、方法或属性的主要内容,如果未能解决你的问题,请参考以下文章

C# 字段初始值设定项无法引用非静态字段、方法或属性

C#变量初始化问题:字段初始值无法引用非静态字段方法或属性

[C#]变量初始化问题:字段初始值无法引用非静态字段方法或属性

字段初始值设定项无法引用非静态字段、方法或属性

字段初始值设定项无法引用非静态字段、方法或属性

字段初始值设定项不能引用非静态字段、方法或属性