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

深圳市住房和建设局网站下载公司开发设计推荐

深圳市住房和建设局网站下载,公司开发设计推荐,兰州中川国际机场电话,高新区网站开发随着剧情的发展,主线人物登场得越来越多,时不时跳出一个大佬,对我张牙舞爪地攻击。眼花缭乱的斗技让我不厌其烦,一个不小心,我就记不清楚在哪里遇上过什么人,他会什么斗技了。这时候,我就特别希…

请添加图片描述

  • 随着剧情的发展,主线人物登场得越来越多,时不时跳出一个大佬,对我张牙舞爪地攻击。
  • 眼花缭乱的斗技让我不厌其烦,一个不小心,我就记不清楚在哪里遇上过什么人,他会什么斗技了。
  • 这时候,我就特别希望有个办法,能把所有登场得人物都自动检测出来,到时候就可以直接调用了。
  • 比方说萧炎和云韵:
[Hero]
class 萧炎 {[Skill]public void 八极崩() { }[Skill]public void 焰分噬浪尺() { }[Skill]public void 佛怒火莲() { }
}
[Hero]
class 云韵
{[Skill]public void 风之极陨杀() { }[Skill]public void 风之极落日曜() { }[Skill]public void 风吹势() { }[Skill]public void 风灵分形剑() { }
}
  • 这里特意用标签标注了哪些是英雄,哪些是技能。
  • 接下来,只要识别这些标签,然后通过反射,就能在最需要的时候,让这些人物登场了。
    请添加图片描述
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;namespace FrameworkDemo
{// 只写Hero也可以,但是规范地写法会加上"Attribute"。// 程序在识别时,会自动忽略"Attribute"。public class HeroAttribute : Attribute { }public class SkillAttribute : Attribute { }[Hero]class 萧炎 {[Skill]public void 八极崩() { }[Skill]public void 焰分噬浪尺() { }[Skill]public void 佛怒火莲() { }}[Hero]class 云韵{[Skill]public void 风之极陨杀() { }[Skill]public void 风之极落日曜() { }[Skill]public void 风吹势() { }[Skill]public void 风灵分形剑() { }}class Program{static private List<Type> heroTypes;                            // 所有英雄类型列表static private object selectedHero;                             // 当前选中的英雄对象static private ArrayList heroNamesList = new ArrayList();       // 所有英雄名称列表static private ArrayList selectedHeroSkill = new ArrayList();  // 当前选中英雄的技能列表static private void init() {heroTypes = System.Reflection.Assembly.GetExecutingAssembly().GetTypes()    // 正在运行的程序集中的类型.Where(t => t.GetCustomAttributes(typeof(HeroAttribute), false).Any())  // 找到所有带有英雄属性的对象,false表示不搜索继承链.ToList();            heroNamesList.AddRange(heroTypes.Select(t => t.Name).ToArray());            // 初始化英雄名称列表,type类型自带Name属性}static private void showHeros() {int count = 1;Console.WriteLine("当前已有英雄:");foreach (string name in heroNamesList){Console.WriteLine($"{count}:{name}");count++;}Console.WriteLine("====================");Console.WriteLine("请填写选取英雄的序号:");}static private Type selectHero() {int index = Convert.ToInt32(Console.ReadLine());if (index > heroTypes.Count || index <= 0) {Console.WriteLine("当前选择无效");return null;}// 通过反射创建英雄对象var selectedHeroType = heroTypes[index - 1];selectedHero = Activator.CreateInstance(selectedHeroType);// 获取该英雄的所有技能// skillMethods类型为System.Reflection.MethodInfo,自带Name属性var skillMethods = selectedHeroType.GetMethods().Where(m => m.GetCustomAttributes(typeof(SkillAttribute), false).Any()).ToList();// 初始化技能列表selectedHeroSkill.Clear();selectedHeroSkill.AddRange(skillMethods.Select(m => m.Name).ToArray());return selectedHeroType;}static private void showSelectedHero(Type hero) {Console.WriteLine("====================");int index = 1;Console.WriteLine("已选择英雄:");Console.WriteLine(hero.Name);Console.WriteLine("技能为:");foreach (string skill in selectedHeroSkill){Console.WriteLine($"{index}:{skill}");index++;}Console.WriteLine("====================");}static void Main(string[] args){init();showHeros();var heroType = selectHero();showSelectedHero(heroType);Console.ReadLine();}}
}
  • 于是乎,这个世界就变成了这样:
    请添加图片描述
    其实,还不错啦~~~
    请添加图片描述
http://www.dinnco.com/news/74923.html

相关文章:

  • 海淀网站建设哪家公司好如何检测网站是否安全
  • 网站 多个ip 备案青岛网站建设优化
  • 网页制作网站创建济南百度seo
  • canva 可画卡通人物seo免费入门教程
  • 珠海高端网站制作公司搜索引擎优化内容包括哪些方面
  • 武汉制作网站公司站长之家备案查询
  • 网站页面怎么设计深圳关键词
  • 拍卖网站模板seo整站优化哪家好
  • 做响应式网站应该注意什么问题互联网网站
  • 福州营销型网站建设天津seo排名费用
  • wordpress标签内链插件seo排名优化技术
  • 各电商网站的特点百度竞价排名机制
  • 网站设计制作的连接方式常州百度搜索优化
  • 个人网站备案名称填写全自动引流推广软件app
  • 都网站建设佛山旺道seo优化
  • wordpress开放用户注册深圳搜狗seo
  • 日本门户网站网络暴力事件
  • 做的比较好的猎头网站湖南关键词优化排名推广
  • 建站开始的前6个月多少外链最合适疫情最新资讯
  • 班级网站设计报告 dreamwaver推广网站的方法有哪些
  • 网站项目策划书内容模板超链接友情外链查询
  • 用js做动态网站广州网络推广外包
  • 邢台企业做网站费用理发培训专业学校
  • 营销型网站的好处网络营销买什么好
  • 做纺织机械的网站域名接广告的网站
  • 山东平台网站建设推荐好看的友情链接代码
  • 网站建设软件dw百度网站检测
  • k8s wordpress mysql抖音seo招商
  • idc网站源码自媒体
  • 电商毕业设计作品泰安seo推广