Во время разработки кода в winforms c # у меня возникла проблема.
В составном шаблоне код похож на
// Интерфейс
interface Usage
{
public abstract void getinfo();
public abstract void add(Usage u);
}
// Leaf
class status : Usage
{
public string strng;
public status()
{
this.strng = "Hello";
}
public override void getinfo()
{
}
public override void add(Usage u)
{
}
}
// Составной класс
class composite : Usage
{
string strng;
ArrayList node=new ArrayList();
public override void add(Usage u)
{
node.Add(u);
}
public override void getinfo()
{
foreach (Usage u in this.node)
{
u.getinfo();
}
}
}
Но мне не удалось захватить строку strng
, которая является Leaf
( status ) классом? тип возврата getinfo () метод равен VOID
. Но из-за реализации метода интерфейса я не могу сделать его STRING
типом возврата.
Кто-нибудь, пожалуйста, разрешите мою проблему.
Заранее спасибо.