freedom_wings 2015-12-21 08:58 采纳率: 21.1%
浏览 1735

关于c#的特性,反射,委托与回调方法的问题

1.c#的特性用来有什么用?难道只是为了用反射来检索?但是我看的书上用反射检索出特性也没用来干什么,求解

2.反射,我的理解是可以加载了一个程序集之后获取其中定义的类型,并用其中定义的类型创建对象,使用其属性,字段,方法。这样是不是可以跨程序获取变量(或者说,跨程序集是不是即跨程序,打个比方,若获取了microsoft word的程序代码,金山的wps也可以在代码中加载word的程序并获取和使用其中定义的方法?)

3.回调方法是不是都要通过委托来实现?

  • 写回答

1条回答 默认 最新

  • threenewbee 2015-12-21 10:31
    关注

    (1)主要就是为了反射。书上举例可能你感觉不到实际用途,那么请看几个真实的案例。
    控件上用[Default(值)]修饰一个属性,于是VS IDE可以用它实现属性表中的“恢复默认值”功能。
    [Editor]特性,IDE用它产生一个自定义的编辑器。
    EF中的[Key]特性,使得数据库生成器可以产生对应的数据库的列,并且设置为主键
    MVC中的[Post]使得这个方法在http post请求发出的时候才响应。
    (2)是跨程序集。注意,不是跨进程。而跨程序是一个模糊的说法。程序集是指一个程序运行实例中加载的不同的模块,程序域/进程则是程序运行的不同实例。
    (3)是的。

    评论

报告相同问题?

悬赏问题

  • ¥15 聚类分析或者python进行数据分析
  • ¥15 如何用visual studio code实现html页面
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?