[英]How to get value from VOID type method?
在开发 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
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();
}
}
}
但是我无法捕获作为Leaf
(状态)类的字符串strng
? getinfo()方法的返回类型是VOID
。但是由于接口方法的实现,我不能使它成为STRING
返回类型。 任何人请解决我的问题。 提前致谢。
您需要更改界面。 让“get”方法无效是没有意义的
正如罗伯特建议的那样,为什么不将其更改为:
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)
{
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.