社区
C#
帖子详情
各位认为窗体程序和类库要相互依赖该怎么处理?
biweilun
2009-07-19 06:49:26
窗体类中需要用到类库中的类,类库需要操作窗体的控件,那么自然也需要窗口类的对象
但是C#不允许循环依赖,该怎么解决?
...全文
204
12
打赏
收藏
各位认为窗体程序和类库要相互依赖该怎么处理?
窗体类中需要用到类库中的类,类库需要操作窗体的控件,那么自然也需要窗口类的对象 但是C#不允许循环依赖,该怎么解决?
复制链接
扫一扫
分享
转发到动态
举报
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
打赏
举报
回复
菜鸟,没看懂意思。
C# 喜课堂学习笔记
【1】解决方案:主要是用来管理我们添加的各种项目。可以对解决方案内部的所有项目,统一编译。开发一个项目:这个项目和我们说的“项目”不是一个概念。我们在解决方案中的项目理解:一个
类库
、一个可启动
程序
,都可以称为一个项目。一般一个解决方案,对应我们一个真实的“项目”。【2】项目包括:
类库
、可启动
程序
(一般就是编译后是exe文件的,能够独立运行的,比如windows
程序
、web
程序
)【3】
程序
集(Assembly):一个
类库
、一个可启动
程序
...都是
程序
集。
10万字208道Java经典面试题总结(附答案)
1、JDK 和 JRE 有什么区别? JDK(Java Development Kit),Java开发工具包 JRE(Java Runtime Environment),Java运行环境 JDK中包含JRE,JDK中有一个名为jre的目录,里面包含两个文件夹bin和lib,bin就是JVM,lib就是JVM工作所需要的
类库
。 2、== 和 equals 的区别是什么? 对于基本类型,==比较的是值; 对于引用类型,==比较的是地址; equals不能用于基本类型的比较; 如果没有重写equa
煤矿粉尘监控系统-----中心站软件3层设计
这些天忙着其他事情好久没来博客园看了,新增一篇博客也算是对项目进度的鞭策吧。 第一步打开文件新建一个项目为空白解决方案,选择保存位置; 第二在解决方案名称上单击鼠标右键,在弹出的快捷菜单中选择"添加"→"新建项目",选择window应用
窗体
程序
; 第三同样的步骤,打开新建项目,选择
类库
分别建立实现数据访问层、业务逻辑访问层、模型层。 第四三层结构的基本框架已经搭建成功,但是各层之间是独立的...
JAVA面试看这个就搞定了
1、JDK 和 JRE 有什么区别? JDK(Java Development Kit),Java开发工具包 JRE(Java Runtime Environment),Java运行环境 JDK中包含JRE,JDK中有一个名为jre的目录,里面包含两个文件夹bin和lib,bin就是JVM,lib就是JVM工作所需要的
类库
。 2、== 和 equals 的区别是什么? 对于基本类型,==比较的是值; 对于引用类型,==比较的是地址; equals不能用于基本类型的比较; 如果没有重写equals,eq
编程资料 -C# 多线程
编程资料 - 多线程
C#多线程编程实例实战
作者: 刘弹 www.ASPCool.com 时间:2003-5-17 上午 10:24:05 阅读次数:10996
单个写入
程序
/多个阅读
程序
在.Net
类库
中其实已经提供了实现,即
System.Threading.ReaderWriterLock 类。本文通过对常见的单个写入/多个阅读
程序
的分析来探索c#
的多线程编程。
问题的提出
所谓单个写入
程序
/多个阅读
程序
的线程同步问
C#
111,097
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章