[讨论]FCL及C#语言的缺陷

rustle 2003-09-24 04:44:55
DotNet是好,很好

但是不要光看它好的一面

建议大家在此贴内提交一些有关.Net类库或者C#语言的一些不尽人意的地方

加以讨论,排除,修正

目标是能够维护一个缺陷列表

应该是很有意义的一件事情
...全文
113 点赞 收藏 23
写回复
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更好的效果
回复
请问什么是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
来看看你们讨论的结果。
回复
发动态
发帖子
.NET Framework
创建于2007-09-28

1.7w+

社区成员

.NET技术 .NET Framework
申请成为版主
社区公告
暂无公告