如何从VOID类型方法中获取值
本文关键字:获取 方法 类型 VOID | 更新日期: 2023-09-27 17:59:00
在用c#winforms开发代码时,我遇到了一个问题。。
在复合模式中,代码就像
//接口
interface Usage
{
public abstract void getinfo();
public abstract void add(Usage u);
}
//叶
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
(状态)类?getinfo()方法的返回类型是VOID
。但由于接口方法的实现,我无法将其设为STRING
返回类型。任何人请解决我的问题。提前谢谢。
您需要更改接口。让"get"方法无效是没有意义的
正如Robert所建议的,为什么不将其更改为:
interface Usage
{
string getinfo();
void add(Usage u);
}
和:
class status : Usage
{
public string strng;
public status()
{
this.strng = "Hello";
}
public override string getinfo()
{
return strng;
}
public override void add(Usage u)
{
}
}