当前位置: 首页 > news >正文

专门做奢侈品的网站网站建设评比

专门做奢侈品的网站,网站建设评比,wordpress文章发布区,上海招聘网最新招聘信息网特性是什么? 为程序元素额外添加声明信息的一种方式。 字面理解:相当于把额外信息写在干胶标签上,然后将其贴在程序集上。 反射是什么? 反射是一种能力,运行时获取程序集中的元数据。 字面理解:程序运行…

特性是什么?

为程序元素额外添加声明信息的一种方式。

字面理解:相当于把额外信息写在干胶标签上,然后将其贴在程序集上。

反射是什么?

反射是一种能力,运行时获取程序集中的元数据。

字面理解:程序运行时,被加载到内存中,就会产生应用程序域(AppDomain),里面就是Assembly(程序集);反射就是读取程序集中的元数据。

元数据(metadata):是用来描述数据的数据或者叫做信息的信息,就是程序集中的类、属性、方法、特性等的说明信息。

应用案例

namespace MyWorkBook.MyTest
{public partial class FormAttribute : Form{private List<Type> heroTypes; //保存所有英雄类的类型private object selectedHero;  //当前选择的英雄对象public FormAttribute(){InitializeComponent();//加载所有英雄的类型--通过当前执行代码的程序集,获取程序集中所有类型,根据自定义特性进行筛选英雄并转换成集合类型,heroTypes = Assembly.GetExecutingAssembly().GetTypes().Where(t => t.GetCustomAttributes(typeof(HeroAttribute),false).Any()).ToList();//初始化英雄列表heroListBox.Items.AddRange(heroTypes.Select(t => t.Name).ToArray());}private void heroListBox_SelectedIndexChanged(object sender, EventArgs e){if (heroListBox.SelectedIndex == -1) return;//如果未选定任何项退出//创建当前选择的英雄对象var selectedHeroType = heroTypes[heroListBox.SelectedIndex];//根据当前选中项获取索引(集合下标)。selectedHero = Activator.CreateInstance(selectedHeroType);////获取该英雄类型的所有技能方法var skillMethods = selectedHeroType.GetMethods().Where(m => m.GetCustomAttributes(typeof(SkillAttribute),false).Any()).ToList();//初始化技能列表skillListBox.Items.Clear();skillListBox.Items.AddRange(skillMethods.Select(m => m.Name).ToArray());}/// <summary>/// 双击组件(技能列表)触发事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void skillListBox_DoubleClick(object sender, EventArgs e){if(skillListBox.SelectedIndex == -1) return;//获取当前选择的技能方法var selectedSkillMethed = selectedHero.GetType().GetMethod(skillListBox.SelectedItem.ToString());//调用该技能方法selectedSkillMethed?.Invoke(selectedHero, null);}}[Hero]//②贴上标签class 段誉{[Skill]public void 六脉神剑(){MessageBox.Show("段誉 - 六脉神剑", "提示");}[Skill]public void 凌波微步(){MessageBox.Show("段誉 - 凌波微步", "提示");}}[Hero]//②贴上标签class 萧峰{[Skill]public void 降龙十八掌(){MessageBox.Show("萧峰 - 降龙十八掌", "提示");}[Skill]public void 打狗棍法(){MessageBox.Show("萧峰 - 打狗棍法", "提示");}}[Hero]//②贴上标签class 虚竹{[Skill]public void 小无相功(){MessageBox.Show("虚竹 - 小无相功", "提示");}[Skill]public void 折梅手(){MessageBox.Show("虚竹 - 折梅手", "提示");}}/*①定义标签特性名规范:自定义名称+Attribute后缀类中没有任何成员(可以添加成员,通过反射获取),在反射代码中通过名称知道标签作用*/public class HeroAttribute : Attribute {}public class SkillAttribute : Attribute{}}

http://www.yayakq.cn/news/273578/

相关文章:

  • 网站商城怎么做重庆市区十大景点推荐
  • 长沙做网站多少钱摄影工作室官网
  • 没有公司 接单做网站商城网站建设需求
  • 怎么自己网站搜不到网站开发维护花费
  • 专业建设网站服务公司网站制作教程视频
  • wordpress 停用多站点上海平台网站建设报价
  • 淘宝上网站建设是什么意思自己做的网站加载不出验证码
  • 烟台专业网站推广中国第一营销网
  • 初中网站建设免费h5在线制作平台
  • 济宁网站建设 中企动力临沂海口智能建站价格
  • 四川建设厅证件查询网站看车二手车网站源码
  • 郑州网站加工九九九九人力资源有限公司
  • 湖州网站建设推广网页制作源代码
  • 公司想建个网站泉州网页网站制作
  • 贵阳制作网站vs网站开发入门
  • 杭州建设网站官网国内 wordpress主机
  • 校园网站开发的目的域名免费查询
  • 天河网站建设wordpress提示没有权限
  • 如何做论坛网站成都附近的旅游景点大全
  • 分辨率大于1920的网站怎么做百度地图手机网站代码
  • 环保设计院的网站建设找别人做淘客网站他能改pid吗
  • 无锡做网站哪家好丰台建设企业网站
  • 域名和网站一样吗江阴 网站开发
  • 淘宝客都在什么平台建网站百度网站怎么建设
  • 青岛网站互联网公司淘宝网页版手机登录
  • 个人网站 虚拟主机价格阳泉 网站建设合作
  • 长沙品牌logo设计公司seo推广效果怎么样
  • 通辽北京网站建设如何发布网页
  • 果洛营销网站建设哪家好长沙建设教育网
  • 做美食教程的网站有哪些建设银行网站一直打不开