社区
C#
帖子详情
MFC和dotnet反射机制对比
nicholasxxxx
2010-12-02 04:17:35
刚刚和一个用MFC多年的人聊C#的运行时动态灵活性。
我一直觉得,C#的反射机制,在运行时挺灵活的,根据类型生成对象,类型是可以在运行时获取的。
但是他说反射是不是类似于MFC中的虚函数和多态,我也用过MFC,但是比较了一下二者,实在找不到说服他使用C#的例子。
只好求助于各位。
我记得我当时放弃MFC使用C#是因为dotnet控件灵活,还有就是反射技术很好用。
MFC也有运行时多态,好像不怎么好用,时间久了记不起来了。
...全文
205
15
打赏
收藏
MFC和dotnet反射机制对比
刚刚和一个用MFC多年的人聊C#的运行时动态灵活性。 我一直觉得,C#的反射机制,在运行时挺灵活的,根据类型生成对象,类型是可以在运行时获取的。 但是他说反射是不是类似于MFC中的虚函数和多态,我也用过MFC,但是比较了一下二者,实在找不到说服他使用C#的例子。 只好求助于各位。 我记得我当时放弃MFC使用C#是因为dotnet控件灵活,还有就是反射技术很好用。 MFC也有运行时多态,好像不怎么好用,时间久了记不起来了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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中的反射 ...
期待高手解答!
.NET周刊【5月第2期 2025-05-11】
本文精选了2025年4月C#/.NET领域的技术文章合集,涵盖多个前沿主题。重点内容包括:C# 14新特性解析、ASP.NET Core与AI框架(Semantic Kernel和Microsoft.Extensions.AI)的集成实践、高性能Excel导出方案对比、线程安全集合使用指南,以及内存泄漏排查技巧。同时介绍了Socks5代理开发、工作流引擎实现和向量数据库Pinecone的应用场景。这些文章既包含语言新特性,也涉及实际开发中的性能优化、AI集成等热点问题,为开发者提供了全面实用的技术参考。
一键式C/C++与C#运行库及开发环境配置工具
,字段说明:url:官方直链,避免中间代理。hash:防止下载篡改。:允许嵌入PowerShell脚本,实现复杂逻辑。:定义卸载动作,保持清洁。通过此机制,可将企业内部专用运行库打包为Scoop可识别格式,便于分发。在企业级部署、开发者环境初始化或软件分发场景中,手动安装运行库不仅效率低下,且极易因遗漏组件导致运行失败。因此,构建一个“一键式”运行环境配置工具成为提升交付质量的关键环节。本节将明确该工具的核心需求与功能边界。
编程新手导论
第二部分 导论,这一部分主要是关于编程的导论, (要懂得一点思想具备一点常识)《设计,编码,,与软工》(编程与思想)这一章解释了三种思想,原语,抽象,组合,,和软件开发的二个重要过程,,软件工程的相关概念,是编程入门的关键 (要懂得一点领域内的数学)《数学与算法》(编程与数学)计算机整个就是架构在数学上的,跟计算机平台实现,算法设计,,架构密切相关,,真正要深入编程,,,对数学的学习是必须的,
编程新手导论(转载)
第二部分 导论,这一部分主要是关于编程的导论, (要懂得一点思想具备一点常识)《设计,编码,,与软工》(编程与思想)这一章解释了三种思想,原语,抽象,组合,,和软件开发的二个重要过程,,软件工程的相关概念,是编程入门的关键 (要懂得一点领域内的数学)《数学与算法》(编程与数学)计算机整个就是架构在数学上的,跟计算机平台实现,算法设计,,架构密切相关,,真正要深入编程,,,对数学的学习是必须的,
SSDB:高性能数据库服务器
SSDB:高性能数据库服务器 - 张善友 SSDB是一个开源的高性能数据库服务器, 使用Google LevelDB作为存储引擎, 支持T级别的数据, 同时支持类似Redis中的zset和hash等数据结构, 在同时需求高性能和大数据的条件下, 作为Redis的替代方案. 因为SSDB的最初目的是替代Redis, 所以SSDB会经常和Redis进行比较. 我们知道, Redis...
C#
111,125
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章