社区
.NET Framework
帖子详情
不是很明白自定义属性
xrbeck
2005-12-28 09:04:15
关于自定义属性看了一下,是附加在类,或者方法上的一些自定义的东西,可以通过反射来得到属性值,但是这样的话,跟设计一个类的属性有什么区别,类也完全可以提供一些接口、属性来使得类本身有些定制的功能,为什么还要搞的那么复杂,用反射来解决?谢谢大家
...全文
302
19
打赏
收藏
不是很明白自定义属性
关于自定义属性看了一下,是附加在类,或者方法上的一些自定义的东西,可以通过反射来得到属性值,但是这样的话,跟设计一个类的属性有什么区别,类也完全可以提供一些接口、属性来使得类本身有些定制的功能,为什么还要搞的那么复杂,用反射来解决?谢谢大家
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xrbeck
2006-01-08
打赏
举报
回复
我顶。
Ivony
2006-01-05
打赏
举报
回复
一般来说还是很少用。
只要明白它是干什么的就好了,其实就是贴标签的,用于动态编程。
xrbeck
2006-01-04
打赏
举报
回复
是的,但是这个一般用contional比较合适,跟自定义没啥关系,另外“Obsolete"也不是不支持,只不过给个编译提示信息而已。
lidong6
2006-01-04
打赏
举报
回复
我一般在设置控件时用的比较多,比如某个属性要不要显示在属性栏里,默认值是什么,属于哪个分组.
xrbeck
2006-01-02
打赏
举报
回复
对,在某些类需要做些标志性的LOG的时候,属性比较方便,就好比NUNIT,在需要测试的方法前加个TEST即可,但不知道自己设计的一般场景有些什么。。我觉得要的确是比较有用的,而不是为了用而去用,就好比模式,滥用模式还不如不用模式,所以想问问大家一般都用在什么地方,可否举几个例子,谢谢
runrunrun
2006-01-01
打赏
举报
回复
to xrbeck(ALEK) : 我可以给你举个最简单的例子, .net 里提供了 Obsolete 属性用来标识一个类被废弃。如果没有这个属性,编译器不得不维护一个所有被废弃的类的列表,而且还无法处理用户自定义的废弃类。 现在有了这个属性,框架的作者如果觉得哪个类在下个版本中不再被支持,只要给这个类加上Obsolete属性就可以了
xrbeck
2005-12-31
打赏
举报
回复
第一位楼主的那个例子看了一下,觉得也没啥区别啊,第一种方式是以静态的方法提供,第二种是把这种SWITCH语句从静态方法中挪到ATTRIBUTE类中,不都一样?有啥区别?要改还不都得改?好像没有回答出attribute得真正优越的地方。。
我想第一个解耦可能是个比较特别的地方,的确,就好像NUNIT,要测试的方法只要定义个ATTRIBUTE即可,而测试跟类本身是没什么关系的。这个好像是个比较突出的地方。但是实际上还是可以通过引入一个测试的接口来实现。。
xrbeck
2005-12-31
打赏
举报
回复
“这个东西本来就不属于这个类,只是会影响到类的行为或者执行的方式,如果加到类中,就会造成混淆,耦合性就增强“ =》这个我觉得好像也不是很合理,同样的,我是在一个框架中,为某些上层的或者客户端程序调用,我以attribute的方式提供,代码在框架中,通过反射来得到一些指定的信息,然后做出一些处理,跟我在框架中定义一个接口,给上层使用有什么区别?更改都是在框架中,不涉及到应用。所以还是不大明白。。
xrbeck
2005-12-31
打赏
举报
回复
我觉得楼上的论据站不住脚, if( obj.GetType() == typeof(ClassA) ) ... 不友好,问题是要不要写?写了attribute就不用写这段了吗,一样的,只不过是在框架的某个类中写还是在attribute类中,而且都只写一次,我看不出有什么优越的地方。。
alesso
2005-12-31
打赏
举报
回复
楼主可以去看看“ASP.NET组件设计”这本书
runrunrun
2005-12-31
打赏
举报
回复
attribute 主要是给框架和类库使用的。当你自己设计一个类库时,你就会明白attribute的强大了。
打个比方说,你的类库里需要对 ClassA 和 ClassB 的对象做一些不同的处理, 你当然可以写死: if( obj.GetType() == typeof(ClassA) ) ... ,但这是一种很不好的方法。给不同类赋予Attribute无疑是一种好的解决方案
qwerttyy
2005-12-31
打赏
举报
回复
简单说来,类里属性是经常用的,Attribute是不经常用的,或者是特殊要求。这就是区别。
xrbeck
2005-12-31
打赏
举报
回复
还是不是很明白,比如设计了一个LOG attribute,
可以在需要的地方加上这个属性,从而可以把某些
地方自动加LOG,但是这样的话,我提供一个LOG类,
给客户端程序调用不就可以了吗,为啥要用attribute,
各位能不能举两个例子。。
ghchen
2005-12-30
打赏
举报
回复
这个东西本来就不属于这个类,只是会影响到类的行为或者执行的方式,如果加到类中,就会造成混淆,耦合性就增强
alesso
2005-12-30
打赏
举报
回复
Attribute就相当于用不干胶给类或者method贴个标签,让底层框架或者VS设计器来读取信息
而且贴这个Attribute不影响类或method本身
alesso
2005-12-30
打赏
举报
回复
就好比一台电视机的控制器
每个按钮实现一些功能,好比method或者property
但如果电视机要包含“维修电话”这个信息
你是希望设计成一个按钮,按一下把电话号码显示在荧光屏上
还是直接用不干胶在电视机上贴个标签?
aspczlover
2005-12-30
打赏
举报
回复
不要搞那么多理论 要考虑实用性
timiil
2005-12-29
打赏
举报
回复
Attribute好比标签,通过反射获取对象上的标签,可以实现某些特定的功能,并且保持较低的耦合性
机器人
2005-12-28
打赏
举报
回复
property称之为属性,Attribute称之为特性。我们通过自定义特性可以扩展元数据。
http://blog.csdn.net/fangxinggood/archive/2005/10/30/519547.aspx
Note-Station-to-markdown
这是一个跨平台脚本,可将 Synology Note Station 的笔记转换为 Markdown 文件。脚本使用 Python 编写,可在任何桌面平台上运行。 转换后您将获得: 1、以导出的笔记本命名的文件夹; 2、这些文件夹中以所有内联图片原位存储的 Markdown 语法纯文本文件笔记; 3、在笔记文本开头处分配标签和附件链接; 4、所有图片和附加文件都位于笔记本目录下的媒体子目录中。
区县-专精特新企业数量(2013-2025年).xlsx
详细介绍及样例数据:https://blog.csdn.net/li514006030/article/details/162965929
政府科技管理者如何通过区域科技创新数智大脑实现精准产业招商?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
易语言源码读取天气预报-模块
易语言源码读取天气预报-模块
面向高精度电流控制的PMSM多参数PSO辨识模型研究(Simulink仿真实现)
内容概要:本文围绕“面向高精度电流控制的PMSM多参数PSO辨识模型研究”,系统阐述了基于Simulink的永磁同步电机(PMSM)多参数辨识方法,重点采用粒子群优化算法(PSO)实现对电机关键内部参数的高精度辨识。研究构建了完整的PMSM控制系统仿真模型,结合智能优化算法,解决了传统参数辨识中精度低、收敛慢的问题,有效提升了电流环控制的动态性能与稳态精度。该方法特别适用于对控制精度和响应速度要求较高的工业应用场景,如高性能伺服系统、电动汽车驱动系统等,具有较强的工程实用价值和科研参考意义。文中提供了完整的Simulink仿真模型与配套代码,确保了研究内容的可复现性和实践操作性。; 适合人群:具备电机控制、自动化或电气工程等相关专业背景,熟悉MATLAB/Simulink仿真环境,从事电机驱动系统研发、控制算法设计或相关领域科研工作的工程师及研究生,尤其适合工作1-5年、希望深入理解先进参数辨识技术的研发人员。; 使用场景及目标:①开展高精度PMSM控制系统的设计与参数辨识研究;②学习并掌握PSO等智能优化算法在电机系统参数辨识中的具体实现与调优技巧;③完成学术论文复现、科研项目验证、毕业设计或工程原型开发,提升对现代电机控制核心技术的理解与应用能力。; 阅读建议:建议读者结合提供的Simulink模型与源代码进行动手实践,按照文档逻辑逐步搭建与调试仿真系统,重点关注PSO算法与电机模型的交互机制、目标函数设计及参数收敛过程,通过对比不同工况下的辨识结果,深入理解算法性能与控制精度之间的内在联系。
.NET Framework
17,748
社区成员
24,324
社区内容
发帖
与我相关
我的任务
.NET Framework
.NET技术 .NET Framework
复制链接
扫一扫
分享
社区描述
.NET技术 .NET Framework
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章