社区
.NET Framework
帖子详情
[讨论]FCL及C#语言的缺陷
rustle
2003-09-24 04:44:55
DotNet是好,很好
但是不要光看它好的一面
建议大家在此贴内提交一些有关.Net类库或者C#语言的一些不尽人意的地方
加以讨论,排除,修正
目标是能够维护一个缺陷列表
应该是很有意义的一件事情
...全文
216
23
打赏
收藏
[讨论]FCL及C#语言的缺陷
DotNet是好,很好 但是不要光看它好的一面 建议大家在此贴内提交一些有关.Net类库或者C#语言的一些不尽人意的地方 加以讨论,排除,修正 目标是能够维护一个缺陷列表 应该是很有意义的一件事情
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
michaelpeng7799
2003-12-13
打赏
举报
回复
最大的缺陷就是 不像以前MFC或是VCL一样.NET的FRAMEWORK不开放源码!!
rustle
2003-10-13
打赏
举报
回复
To flyjiebing(fly) :
你觉得Singleton比static member好在哪里?
lmliming2002
2003-10-10
打赏
举报
回复
是的。。DAONET的问题主要是对除SQLSERVER以为的DBMS的兼容的问题。。。
当然DBMS厂商的驱动也是个问题。。。
其实偶觉得DAONET比较好的一个地方是可户端和SERVER端交互变的更安全了。。扩展性强了。。但毕竟是桌面的东东。。。再加上微软的一贯作风(封)。。有时候让人找不找北是很正常的!!
对我来说DAONET只是个做控件的工具罢了。。。。。。。。
bizlogic
2003-10-10
打赏
举报
回复
同意flyjiebing(fly)
用singleton可以得到比static member更好的控制数据库的连接池等问题。
flyjiebing
2003-10-10
打赏
举报
回复
to rustle:
实际上我猜想的.net的数据库连接池就是通过static member来实现的,因为在.net的框架体系内我实在想不出更好的办法
你可能没有看过设计模式。用singleton可以得到比static member更好的效果
风中飘扬的柳絮
2003-10-09
打赏
举报
回复
请问什么是FCL?
bizlogic
2003-10-07
打赏
举报
回复
abstract表明必须要被继承,sealed表明不可以被继承,这两个是矛盾的,怎么可以一起用呢。不想创建实例和abstract不是同一个概念,只能把构造函数私有化才能实现,这个在面向对象语言中都是一样的吧。
spiketang
2003-10-07
打赏
举报
回复
gz
rustle
2003-10-07
打赏
举报
回复
假如我的类中只有static member
我不想让他被继承,也不想让他创建实例,为什么不能abstract & sealed ?
bizlogic
2003-10-06
打赏
举报
回复
rustle(...)
abstract 和 sealed一起用?定义abstract的目的就是抽象基类,seal表示不能继承的实体类,完全是两回事,怎么可能一起用呢?Java中也没有人abstract和final同时用的吧。
我在当前版本的C#碰到的一个问题:C#中不能定义匿名类和匿名事件,匿名类和匿名事件在很多情况下可以减少引入不必要的类名和事件名。
rustle
2003-10-03
打赏
举报
回复
关于索引器
为什么我不能定义一个static索引器?当然没有它也行,可以用其他方式来做,但是我希望C#是一个perfect的东西,支持static索引器并不会有什么负面的影响。实际上,即使没有instance索引器,也可以用其他方式来做的。
rustle
2003-10-03
打赏
举报
回复
任何东西都有利有弊,在举出上面这些的时候同时我也很清晰的意识到使用一种工具就是要利用它的长处,避开它的短处。在这里仅仅是想列出来而已。C#和.net framework还是我所见过的最优美的东西。
rustle
2003-10-03
打赏
举报
回复
关于 abstract 和 sealed
为什么不能一起使用?莫名其妙,我觉得在这个问题上设计者没有进行深入的思考
我完全可以使用一个abstract & sealed的类来完成工作,因为有static member,有时satic member显得非常方便,例如:保存只需加载一次的数据、实现一些“池”的功能(实际上我猜想的.net的数据库连接池就是通过static member来实现的,因为在.net的框架体系内我实在想不出更好的办法),这种限制使得我给类标记为sealed的同时还要声明一个private的无参数构造函数,简直是太蹩脚了。
rustletemp
2003-10-03
打赏
举报
回复
只能发三篇...还有没说完....
rustle
2003-10-03
打赏
举报
回复
关于.Net IDE
不知道大家有没有试过创建Web UserControl然后继承它
发现什么问题?Parent UserControl中ascx页面中摆放的对象必须在child usercontrol中再次摆放(仅仅再摆一个还是不够的,还要采取一些办法,为什么?试试就知道了。我现在采取的办法是将页面摆放的对象都包装成一个virtual属性)
问题出在哪里?
.ascx文件实际上是.ascx.cs文件中定义的类的派生类,对于页面上的对象,.cs文件中仅仅定义了一个protected变量,是由派生类去生成的这个对象实例,而从usercontrol继承的是.cs文件中的类...
给用户一个方便的方式来创建自定义控件,却阻断了用户再次扩充它的可能(或者说制造了一些麻烦)。
难道就没有一个更合适的方式来解决这个问题?
rustle
2003-10-03
打赏
举报
回复
关于switch ...case
C#的switch ..case有点匪夷所思
绝对不允许贯穿,却又必须手动加上break
为什么?只能猜想它的意图仅仅是为了代码不会造成理解上的歧义...
我觉得实在是没有这个必要。
rustle
2003-10-03
打赏
举报
回复
冰山一角
如果我理解的没错的话,这至少是FCL的一个bug
树猫
2003-10-01
打赏
举报
回复
你说的这就是c#语言的缺陷?
michaelpeng7799
2003-10-01
打赏
举报
回复
你说的FCL是什么?
o1o
2003-09-30
打赏
举报
回复
来看看你们讨论的结果。
加载更多回复(3)
C# 编程常见十大问题
尽管本文
讨论
的大多数错误是针对 C# 的,有些错误与其他以 CLR 为目标的语言,或者用到了 Framework Class Library (
FCL
) 的语言也相关。 常见错误 #1: 把引用当做值来用,或者反过来 C++ 和其他很多语言的...
C# 程序员最常犯的 10 个错误
C#是达成微软公共语言运行库(CLR)的少数语言中的一种。达成CLR的语言可以受益于其带来的特性,如跨语言集成、异常处理、安全性增强、部件组合的简易模型以及调试和分析服务。作为现代的CLR语言,C#是应用最为广泛...
学习如何避免10种最常见的C#误区
尽管本文
讨论
的大多数错误是针对 C# 的,有些错误与其他以 CLR 为目标的语言,或者用到了 Framework Class Library (
FCL
) 的语言也相关。 常见错误 #1: 把引用当做值来用,或者反过来 C++ 和其他很多...
C#编程中最常见的10个错误
C#是针对Microsoft 公共语言运行库(CLR)的几种语言之一。面向CLR的语言受益于多种功能,例如跨语言集成和异常处理,增强的安全性,简化的组件交互模型以及调试和性能分析服务。在当今的CLR语言中,C#被广泛用于...
改善C#程序的50种方法
为什么程序已经可以正常工作了,我们还要改变它们呢?答案就是我们可以让它们变得更好。我们常常会改变所使用的工具或者语言...当然,这些旧的习惯绝大多数都很好,
C#语言
的设计者们也确实希望我们能够利用这些旧习惯下
.NET Framework
17,748
社区成员
24,327
社区内容
发帖
与我相关
我的任务
.NET Framework
.NET技术 .NET Framework
复制链接
扫一扫
分享
社区描述
.NET技术 .NET Framework
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章