Decorator模式 出现了点问题!。。

zsyok 2011-05-23 12:03:48

public abstract class Component
{
public abstract void sampleOperation();
}
/*
* 具体的一个门
*/
public class Door : Component
{
public override void sampleOperation()
{
Console.WriteLine("Build a door!");
}
}
/*
* 一个装饰抽象类,下面派生出一个用来装饰门的锁子和一个把手
*/
public abstract class Decorator : Component
{
private Component component;

public Decorator(Component _component)
{
this.component = _component;
}

public override void sampleOperation()
{
this.component.sampleOperation();
}
}
/*
* 用来装饰门的把手
*/
public class Knob : Decorator
{
public Knob(Component component)
: base(component)
{

}
public override void sampleOperation()
{
base.sampleOperation();
Console.WriteLine("Add an Knob(把手)");
}
}
public class DecoratorPattern
{
Component door123 = new Door();//创建一个扇门(向下转型)
Decorator knob = new Knob(door123);//报错:字段初始值设定项无法引用非静态字段、方法或属性“tlogin.comm”
public void f1()
{
knob.sampleOperation();
}
}
public class test
{
public static void Main()
{
DecoratorPattern k = new DecoratorPattern();
k.f1();
}
}


...全文
67 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
子夜__ 2011-05-23
  • 打赏
  • 举报
回复
给private Component component;
一个get属性。
zsyok 2011-05-23
  • 打赏
  • 举报
回复
报错。。
字段初始值设定项无法引用非静态字段、方法或属性xxx.xxx

请大家帮忙解决一下。。
zsyok 2011-05-23
  • 打赏
  • 举报
回复
private Component component;
不是有个构造器,给component赋值吗?
zsyok 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wxr0323 的回复:]
给private Component component;
一个get属性。
[/Quote]
敢问大哥,在那里加?

62,025

社区成员

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

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

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

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