各位认为窗体程序和类库要相互依赖该怎么处理?

biweilun 2009-07-19 06:49:26
窗体类中需要用到类库中的类,类库需要操作窗体的控件,那么自然也需要窗口类的对象

但是C#不允许循环依赖,该怎么解决?
...全文
204 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
biweilun 2009-07-19
  • 打赏
  • 举报
回复
好吧。我错了。
tootto 2009-07-19
  • 打赏
  • 举报
回复
架构设计不合理才会有这种问题。窗体类与自定义类如此依赖,那它们各自已经不是独立的object了,全部放在窗体类好了,为了OO而OO其实不是OO.



biweilun 2009-07-19
  • 打赏
  • 举报
回复
可我还需要调用这个窗体类中的其他方法呀
ICanUseThisID 2009-07-19
  • 打赏
  • 举报
回复
操作Label的话,把Label传过去就可以了,这样类库就不用引用form了
biweilun 2009-07-19
  • 打赏
  • 举报
回复
Form1是我创建的一个窗口类,窗口上放了一个Lable,我需要在类库中操作它。
sjdev 2009-07-19
  • 打赏
  • 举报
回复
问一下:为什么在class1中使用Form1而不是Form?

如果class1中缓存窗体引用只是为了控制窗体的一般属性,我觉得可以使用Form来替代Form1
这样的话,class1所在的库就不用添加Form1的引用了。

如果class1中缓存窗体引用是想对窗体做很多操作,我觉得没必要把class1独立出一个库。

如果class1缓存窗体引用是想对窗体某些比较固定的元素操作,我觉得可以把要操作的部分抽
象成接口。接口放在class1所在的库就行了,class1也没必要添加Form1的引用。
biweilun 2009-07-19
  • 打赏
  • 举报
回复
那就各位说说,类库和窗体类怎么传递数据吧?
除了那种在类库中引用窗体类
using WindowsFormApplication1;

然后构造函数
Form1 frmTest=null;
public class1(Form1 x)
{
frmTest=x;
}

在窗体类中
class1 clsTest=new class1(this);


除了这种方法。还有别的方法没
biweilun 2009-07-19
  • 打赏
  • 举报
回复
几位的回答都不能满足我。
zhouzangood 2009-07-19
  • 打赏
  • 举报
回复
看不懂
CSharpEx 2009-07-19
  • 打赏
  • 举报
回复
通过引用方式传递到你的dll,把公用class放到dll中,或者其它地方
superliu1122 2009-07-19
  • 打赏
  • 举报
回复
把共用的部分抽出来单独建立一个类库
或者用接口
myouuu 2009-07-19
  • 打赏
  • 举报
回复
菜鸟,没看懂意思。

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧