デコレータパターンについて質問があります
このコードがあるとしましょう
interface IThingy
{
void Execute();
}
internal class Thing : IThingy
{
public readonly string CanSeeThisValue;
public Thing(string canSeeThisValue)
{
CanSeeThisValue = canSeeThisValue;
}
public void Execute()
{
throw new System.NotImplementedException();
}
}
class Aaa : IThingy
{
private readonly IThingy thingy;
public Aaa(IThingy thingy)
{
this.thingy = thingy;
}
public void Execute()
{
throw new System.NotImplementedException();
}
}
class Bbb : IThingy {
private readonly IThingy thingy;
public Bbb(IThingy thingy)
{
this.thingy = thingy;
}
public void Execute()
{
throw new System.NotImplementedException();
}
}
class Runit {
void Main()
{
Aaa a = new Aaa(new Bbb(new Thing("Can this be accessed in decorators?")));
}
}
2 つのデコレータ Aaa と Bbb でラップされた、thing というクラスがあります。
AaaまたはBbbから文字列値「CanSeeThisValue」(Thingにある)に最もよくアクセスするにはどうすればよいですか
私はそれらすべての基本クラスを作成しようとしましたが、もちろん同じベースを共有していますが、ベースの同じインスタンスを共有していません
代わりに各コンストラクターに値を渡す必要がありますか?