MFC和dotnet反射机制对比

nicholasxxxx 2010-12-02 04:17:35
刚刚和一个用MFC多年的人聊C#的运行时动态灵活性。

我一直觉得,C#的反射机制,在运行时挺灵活的,根据类型生成对象,类型是可以在运行时获取的。

但是他说反射是不是类似于MFC中的虚函数和多态,我也用过MFC,但是比较了一下二者,实在找不到说服他使用C#的例子。
只好求助于各位。

我记得我当时放弃MFC使用C#是因为dotnet控件灵活,还有就是反射技术很好用。
MFC也有运行时多态,好像不怎么好用,时间久了记不起来了。
...全文
205 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvq49 2012-09-20
  • 打赏
  • 举报
回复
有这么一个事实,MFC做的COM组件分别使用C#和Delphi引用,关于消息传递,C#一个事件委托就搞定了,而Delphi没那么简单。。。至于MFC,不得不承认要理解win32机制还得MFC,但作为快速开发首选C#,.NET框架真的很强大
nicholasxxxx 2010-12-03
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zenghd 的回复:]

COM后期绑定也是可以在运行时才获取对象的
[/Quote]

VC MFC、STL的COM我也做过,简单的时候还行,就是受限制太大
很多都是COM专用数据结构,比如字符串

比MFC还不容易上手
nicholasxxxx 2010-12-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wuyazhe 的回复:]

MFC有运行时多态?你不会说哪个CRuntimeClass吧,那可不是运行时的,而是编译时的。你运行之前,关系就已经订好了的。

至于语言,没什么好选择的,关键是框架和适用范围,讲求效率的时候还是c++,mfc就是简单,也很累赘,常有点小问题让你掏出自己的经验来玩它。c#就是快速开发。
[/Quote]

dotnet的反射,虽然运行时生成对象,但是您要使用它还是要知道他的接口或者方法才行啊,这不也是在编译时才知道的吗?

反射的最大特点应该是可以扩展,有个接口,随便扩展,反射调用。
CRuntimeClass不了解,可以这样子后期扩展码?
nicholasxxxx 2010-12-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 shrinerain 的回复:]

给他说反射就是LoadLibaray, GetProcAddress等一堆函数的超级加强版就明白了.
[/Quote]

是的,强!
ZengHD 2010-12-02
  • 打赏
  • 举报
回复
COM后期绑定也是可以在运行时才获取对象的
wxmayifei 2010-12-02
  • 打赏
  • 举报
回复
反射就是动态加载.

和多态, 虚函数一毛钱关系都没有.
兔子-顾问 2010-12-02
  • 打赏
  • 举报
回复
MFC有运行时多态?你不会说哪个CRuntimeClass吧,那可不是运行时的,而是编译时的。你运行之前,关系就已经订好了的。

至于语言,没什么好选择的,关键是框架和适用范围,讲求效率的时候还是c++,mfc就是简单,也很累赘,常有点小问题让你掏出自己的经验来玩它。c#就是快速开发。
shrinerain 2010-12-02
  • 打赏
  • 举报
回复
给他说反射就是LoadLibaray, GetProcAddress等一堆函数的超级加强版就明白了.
shrinerain 2010-12-02
  • 打赏
  • 举报
回复
反射就是动态加载.

和多态, 虚函数一毛钱关系都没有.
赤脚的蜈蚣 2010-12-02
  • 打赏
  • 举报
回复
反射跟MFC中的虚函数和多态不搭尬.
还有C++也有反射?
flyerwing 2010-12-02
  • 打赏
  • 举报
回复
来看看,不说话.
ZengHD 2010-12-02
  • 打赏
  • 举报
回复
我记得我当时放弃MFC使用C#是因为dotnet控件灵活
你应该用DELPHI,DELPHI控件比dotnet控件灵活

还有就是反射技术很好用
你在什么时候使用反射技术?
Dobzhansky 2010-12-02
  • 打赏
  • 举报
回复
术业有专攻.
RoJJ_97 2010-12-02
  • 打赏
  • 举报
回复
windows桌面开发的王者始终是MFC。。。底层操作很牛X,

.NET是搞快速开发的(WEB和WINFORM都行)。我也想搞MFC,可惜道行还不够。
戒指 2010-12-02
  • 打赏
  • 举报
回复
关注中~

还有JAVA中的反射 ...

期待高手解答!

111,125

社区成员

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

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

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