字段初始值设定项无法引用非静态字段、方法或属性“ConsoleApplication1.class2.a”

zsyok 2011-05-23 09:50:20

public class classA
{
private string str;
public classA(string s)
{
this.str = s;
}
}
public class classB
{
private classA calssa;

public classB(classA a)
{
this.Calssa = a;
}
public void f1()
{
Console.WriteLine("ccccccc");
}
}

public class class2
{
classA a = new classA("cc");
classB b = new classB(a);//这里的a : 字段初始值设定项无法引用非静态字段、方法或属性“ConsoleApplication1.class2.a”
public void f1()
{
b.f1();
}
}
public class Program
{
static void Main(string[] args)
{

}
}


怎样解决,大家帮下手吧。跪下了。
...全文
228 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
我姓区不姓区 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zsyok 的回复:]

引用 4 楼 ojlovecd 的回复:

C# code

public class class2
{
classA a = new classA("cc");
classB b;
public void f1()
{
b = new classB(a);
b.f1();
}
}


……


说说为什么
classA a = new classA("c……
[/Quote]

a和b是类class2的字段
字段初始化时不能使用其它的字段或属性……
这是C#基础语法……
zsyok 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ojlovecd 的回复:]

C# code

public class class2
{
classA a = new classA("cc");
classB b;
public void f1()
{
b = new classB(a);
b.f1();
}
}


……
[/Quote]

说说为什么
classA a = new classA("cc");
classB b = new classB(a);
这样就不行了呢??
我姓区不姓区 2011-05-23
  • 打赏
  • 举报
回复

public class class2
{
classA a = new classA("cc");
classB b;
public void f1()
{
b = new classB(a);
b.f1();
}
}
zsyok 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wxr0323 的回复:]

你这个代码好熟悉啊。

private classA calssa;

加get set 。看看
[/Quote]

不行啊#·················
xianyudanta 2011-05-23
  • 打赏
  • 举报
回复
orz我学的太烂了…………
子夜__ 2011-05-23
  • 打赏
  • 举报
回复
你这个代码好熟悉啊。

private classA calssa;

加get set 。看看

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧