私のポンプは私の風船を(膨らませる)ことができます。問題ない!しかし、PUMPを使用してBALLOONを(ポップ)しようとすると、実際にはうまく機能しません。PUMPを使い続けることができ、最終的にはバルーンが(ポップ)されますが、腕が本当に疲れているので、今すぐ(ポップ)したいと思います。だから、代わりに、私は私のPOINTY STICKと(ポップ)を手に入れます!もちろん、私のPOINT STICKは、PUMPがそれを(ポップ)するよりも、私のBALLOONを(膨らませる)効果がさらに低くなります。
Class Balloon
{
Private int _volume = 0;
Private bool _popped = false;
Public Balloon() { }
//Restrict calling to only a PUMP object
Internal Inflate()
{
if (_popped) return;
_volume += 1;
if (volume > 10) this.Pop();
}
//Restrict calling to only a POINTY STICK object
Internal Pop()
{
if (!_popped) _popped = true;
}
Public string GirlHappiness
{ get
{
if (!_popped)
{
if (_volume < 3)
return "......";
if (_volume < 6)
return "Ooohhh";
else
return "Ahhhh! Yay!";
}
else
return "WaAaAaAaHhHhHh";
}
}
Public string BoyHappiness
{ get
{
if (!_popped)
{
if (_volume < 3)
return "zzzzzz";
if (_volume < 6)
return "zzzzzz";
else
return "zzzzzz";
}
else
return "Ahahaha YAY!";
}
}
}
それで、これを達成する方法はありますか?アセンブリを分離しても目的の結果を得ることができません。また、リフレクションとスタックのトレースを使用して検討した他の方法は、デバッグ以外では信頼できません。何をすべきか?!