C# Atrribute和反射的简单例子
Attribute 需要以Attribute 结尾, 并继承Attribute
namespace AttributeTest
{public class HeroAttribute : Attribute{}
}
namespace AttributeTest
{public class SkillAttribute : Attribute{}
}
namespace AttributeTest
{[Hero]public class Blademaster{[Skill]public void JiFengBu(){Console.WriteLine("疾风步");}[Skill]public void ZhiMingYiJi(){Console.WriteLine("致命一击");}}
}
using AttributeTest;
using System.Reflection;List<Type> heroTypes = new();
object selecthero;//所有英雄的类型
heroTypes = Assembly.GetExecutingAssembly().GetTypes().Where(t => t.GetCustomAttributes(typeof(HeroAttribute), false).Any()).ToList();//英雄的名字
var list = heroTypes.Select(t => t.Name).ToList();foreach (var item in list)
{Console.WriteLine(item);
}Console.WriteLine("==============");
foreach (var item in heroTypes)
{var t = Activator.CreateInstance(item);//创建对象var skillMethods = item.GetMethods().Where(m =>m.GetCustomAttributes(typeof(SkillAttribute), false).Any()).ToList();var methodsName = skillMethods.Select(m => m.Name).ToList();methodsName.ForEach(x => Console.WriteLine(x));
}
结果 :

相关文章:
C# Atrribute和反射的简单例子
Attribute 需要以Attribute 结尾, 并继承Attribute namespace AttributeTest {public class HeroAttribute : Attribute{} }namespace AttributeTest {public class SkillAttribute : Attribute{} }namespace AttributeTest {[Hero]public class Blademaster{[Skill]public vo…...
ASP.NET Core - 缓存之分布式缓存
分布式缓存是由多个应用服务器共享的缓存,通常作为访问它的应用服务器的外部服务进行维护。 分布式缓存可以提高 ASP.NET Core 应用的性能和可伸缩性,尤其是当应用由云服务或服务器场托管时。 与其他将缓存数据存储在单个应用服务器上的缓存方案相比&am…...
代理模式(C++)
定义 为其他对象提供一种代理以控制(隔离,使用接口)对这个对象的访问。。 应用场景 在面向对象系统中,有些对象由于某种原因(比如对象创建的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等)直接访问会给使用者、或…...
C# 有效的字母异位词
242 有效的字母异位词 给定两个字符串 和 ,编写一个函数来判断 是否是 的字母异位词。stts 注意:若 和 中每个字符出现的次数都相同,则称 和 互为字母异位词。stst 示例 1: 输入: s “anagram”, t “nagaram” 输出: true 示例 2: 输…...
R语言安装包Seurat
环境Ubuntu22,R4.1 also installing the dependencies ‘curl’, ‘openssl’, ‘httr’, ‘plotly’ R包安装的时候报了这个错误ERROR: dependencies httr, plotly are not available for package Seurat 解决方法,退出R,在terminal中键入…...
vue2中使用mixins(混入)和vue3中使用composable
文章目录 一、mixins混入1、 新建mixins文件夹,新建myMixins.js2、myMixins.js 文件3、index.vue 文件(要使用的文件) mixins 总结二、composable(组合式api composition )1、 新建composables文件夹,新建useEdit.js2、useEdit.js…...
通过OpenTelemetry上报Python-flask应用数据(阿里云)
参考文档 https://help.aliyun.com/document_detail/611711.html?spma2c4g.90499.0.0.34a056ddTu2WWq 先按照 方法一:手动埋点上报Python应用数据 步骤测试上报是否正常。 flas 上报 在 手动埋点上报Python应用数据 的基础上,上报flask应用的数据&#…...
使用node搭建服务器,前端自己写接口,将vue或react打包后生成的dist目录在本地运行
使用node.jsexpress或者使用node.jspm2搭建服务器,将vue或react打包后生成的dist目录在本地运行 vue项目打包后生成的dist目录如果直接在本地打开index.html,在浏览器中会报错,无法运行起来。 通常我是放到后端搭建的服务上面去运行,当时前端…...
一篇文章搞懂如何使用JDBC操作数据库,还有JDBC进阶操作
目录 简介什么是JDBC如何使用JDBC1、获取连接2、操作数据3、关闭连接,释放资源使用技巧 查询操作创建表,插入模拟数据使用Java查询数据的数据SQL注入问题使用PreparedStatement查询 更新操作插入插入并获取主键更新删除 JDBC事务JDBC的批量操作JDBC连接池…...
9.3.2.1网络原理(UDP)
1.UDP的基本特点:无连接,不可靠传输,面向数据报,全双工. 2.1~1024的端口号有特定的含义,不建议使用.比如21:ftp,22:ssh,80:http,443:https. 3.CRC校验算法:循环冗余校验和,把UDP报中的每个字节都依次进行累加,把累加的结果,放到两个字节的变量中,溢出也无所谓,因为都加了一遍.…...
21、stm32使用LTDC驱动LCD
注:本文基于stm32使用FMC驱动SDRAM(IS42S32800G-6BLI)工程继续开发 本例使用安富莱的H743XIH板子驱动LTDC点亮7寸LCD 硬件接线:RGB888 一、cubemx配置 1、LTDC配置 注意此引脚应于上面的硬件接线图一致 2、配置DMA2D 3、背光引脚和触摸引脚 4、时钟…...
合并两个有序链表
就像一个贪吃蛇将两个链表一一的吃进来 class Solution(object):def mergeTwoLists(self, list1, list2):""":type list1: Optional[ListNode]:type list2: Optional[ListNode]:rtype: Optional[ListNode]"""p ListNode(0)cur pwhile list1 a…...
深入了解Unity的Physics类:一份详细的技术指南(七)(上篇)
前言 Unity的Physics类是Unity物理系统的核心,提供了一套用于处理和控制物理模拟的API。这个类提供了用于控制物理系统的全局属性和方法,以及检测和施加力到游戏对象,处理碰撞和触发器事件等。为了让开发者都能更好理解这个Physics类&#x…...
数据结构与算法-数组(附阿里面试题)
一 面试经典: 给你一个文件里面包含全国人民(14亿)的年龄数据(0~180),现在要你统计每一个年龄 有多少人? 给定机器为 单台2CPU2G内存。不得使用现成的容器,比如map等。&am…...
k8s集群网络插件搭建——————解决集群notready(k8s1.20版本,docker24)
前面已经提到,在初始化 k8s-master 时并没有网络相关配置,所以无法跟 node 节点通信,因此状态都是“NotReady”。但是通过 kubeadm join 加入的 node 节点已经在k8s-master 上可以看到。 那么,这个时候我们该怎么办呢?…...
有血有肉的PPT
1、PPT是Powerpoint缩写 2、引申的含义是Powerpoint Power(力量/能量) Point(观点/要点) 3、用PPT做的文档是讲演稿,讲演的内容要有力度,之所以要去演讲是为了能够影响受众 4、其次演讲稿上的内容要列出要点、表明观点,所以一般P…...
使用C语言实现UDP消息接收
目录 简介:步骤:步骤 1: 创建套接字步骤 2: 接收消息步骤 3: 完成 函数及变量解释总结: 简介: 在网络通信中,UDP(User Datagram Protocol)是一种无连接协议,它提供了一种快速、高效的数据传输方法。本文将向您展示如何使用C语言编…...
图片加水印
基础 基于:https://github.com/chishaxie/BlindWaterMark#blindwatermark 前置 安装python,操作系统为ubuntu 18.04.4 server 说明:python2 不行,已验证不行的版本是2.7.17,建议使用ubuntu 18.04.4 server对应的py…...
Nginx代理接口访问返回404
Nginx代理接口访问返回404 一、背景 因为不同业务系统间有接口调用,存在跨域问题,为了解决同源策略,需要将接口通过nginx去转发,但是配置完后通过postman请求一直存在访问404的问题。 访问地址:https://a.test.com/n…...
湘大 XTU OJ 1097 排序 题解:c++ 函数库的使用 快速排序 归并排序 冒泡排序
一、链接 1097 排序 二、题目 Description N个整数,将其排序输出。 输入 第一行是一个整数K(1<K<20),表示有多少个样例,每个样例的第一行是一个整数N(1<N<1,000)和一个字符X&…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
UE5 音效系统
一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类,将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix,将上述三个类翻入其中,通过它管理每个音乐…...
基于谷歌ADK的 智能产品推荐系统(2): 模块功能详解
在我的上一篇博客:基于谷歌ADK的 智能产品推荐系统(1): 功能简介-CSDN博客 中我们介绍了个性化购物 Agent 项目,该项目展示了一个强大的框架,旨在模拟和实现在线购物环境中的智能导购。它不仅仅是一个简单的聊天机器人,更是一个集…...
