reflection相关内容

在 .NET 中使用属性的性能开销

1.. 使用属性是否会导致性能开销?想想这样的课程: 公共类 MyClass{int Count {get;set;}} 它有 10 个属性(属性是类,属性类本身比 MyClass 本身大得多,例如: public class FirstAttribute : 属性{整数 A,B,C,D,E,F,G,H,I,J ... {get;set;}} 2.. 每次实例化 MyClass 时,这些 ..
发布时间:2022-01-13 18:23:47 C#/.NET

如何返回属性的默认值?

我有一个对象 myobject,它可能返回 None.如果返回None,则不会返回属性id: a = myobject.id 所以当 myobject 为 None 时,上面的语句会导致 AttributeError: AttributeError: 'NoneType' 对象没有属性 'id' 如果 myobject 为 None,那么我希望 a 等于 None.如何在一行语句中避免此异 ..
发布时间:2022-01-13 18:21:31 Python

C# Buddy 类/元数据和反射

我正在尝试使用反射来检查给定类的属性是否具有 ReadOnly 属性集.我使用的类是 MVC 视图模型(对元数据使用部分“伙伴"类. 公共部分类 AccountViewModel{公共虚拟 Int32 ID { 获取;放;}公共虚拟小数余额 { 获取;放;}}[元数据类型(typeof(AccountViewModelMetaData))]公共部分类 AccountViewModel{类 Ac ..
发布时间:2022-01-13 18:14:46 C#/.NET

我将如何使用反射来调用具有某个自定义属性的所有方法?

我有一个包含一堆方法的类. 其中一些方法由自定义属性标记. 我想一次调用所有这些方法. 我将如何使用反射来查找该类中包含此属性的所有方法的列表? 解决方案 获得方法列表后,您将使用 GetCustomAttributes 方法循环查询自定义属性.您可能需要更改 BindingFlags 以适应您的情况. var methods = typeof(MyClass).Get ..
发布时间:2022-01-13 18:10:51 C#/.NET

C# 反射:在成员字段上查找属性

我可能问错了这个问题,但是您可以/如何在其自身中找到某个类的字段...例如... 公共类 HtmlPart {公共无效渲染(){//this.GetType().GetCustomAttributes(typeof(OptionalAttribute), false);}}公共类 HtmlForm {私有 HtmlPart _FirstPart = new HtmlPart();[可选]// ..
发布时间:2022-01-13 18:09:47 C#/.NET

通过反射获取 MemberInfo 的类型

我正在使用反射来加载具有项目类结构的树视图.类中的每个成员都有一个分配给他们的自定义属性. 使用 MemberInfo.GetCustomAttributes() 获取类的属性没有问题,但是我需要一种方法来确定类成员是否是自定义类,然后需要对其自身进行解析返回自定义属性. 到目前为止,我的代码是: MemberInfo[] membersInfo = typeof(Project). ..
发布时间:2022-01-13 18:06:31 C#/.NET

如何获取我们的属性设置的属性名称?

我将在不向属性传递任何参数的情况下执行此操作!有可能吗? class MyAtt : 属性 {字符串 NameOfSettedProperty() {//这是怎么做到的?(例如将是 MyProp)}}类 MyCls {[MyAtt]int MyProp { 得到 { 返回 10;} }} 解决方案 属性是应用于类型成员、类型本身、方法参数或程序集的元数据.为了让您能够访问元数据,您必须拥有原 ..
发布时间:2022-01-13 18:06:03 C#/.NET

GetCustomAttributes() 是否保留 .NET 中的属性顺序?

标题几乎说明了一切.当我通过我的类进行一些反思时,MemberInfo.GetCustomAttributes() 方法是否会保留成员的属性顺序?官方文档并没有说什么. 如果您想知道我为什么需要这个,这里是完整的解释.现在提出的问题很长而且不需要,但也许有人可以为更大的问题想出一个替代解决方案,它不涉及依赖属性枚举顺序. 我正在尝试为预期具有相当长生命周期的 (ASP.NET) 应用程 ..
发布时间:2022-01-13 18:03:06 C#/.NET

属性构造函数中的 Lambda 表达式

我创建了一个名为 RelatedPropertyAttribute 的 Attribute 类: [AttributeUsage(AttributeTargets.Property)]公共类 RelatedPropertyAttribute:属性{公共字符串相关属性 { 获取;私人套装;}公共相关属性属性(字符串相关属性){相关属性 = 相关属性;}} 我用它来表示类中的相关属性.我将如何使用 ..
发布时间:2022-01-13 17:56:15 C#/.NET

属性与C++ 的反射库?

大多数成熟的 C++ 项目似乎都有自己的反射和属性系统,即用于定义可以通过字符串访问并自动序列化的属性.至少我参与的许多 C++ 项目似乎在重新发明轮子. 你知道任何支持反射和属性容器的优秀的 C++ 开源库吗,特别是: 通过宏定义 RTTI 和属性 通过代码访问 RTTI 和属性 属性的自动序列化 监听属性修改(例如 OnValueChanged) 解决方案 你可以看看 ..
发布时间:2022-01-13 17:45:50 C/C++开发

读取方法的属性值

我需要能够从我的方法中读取我的属性值,我该怎么做? [MyAttribute("Hello World")]公共无效我的方法(){//需要读取 MyAttribute 属性并获取其值} 解决方案 你需要调用GetCustomAttributes 函数. 获取 MethodBase 对象的最简单方法是调用 MethodBase.GetCurrentMethod.(注意要加上[MethodIm ..
发布时间:2022-01-13 17:34:06 C#/.NET

您可以使用反射找到包中的所有类吗?

是否可以找到给定包中的所有类或接口?(快速查看例如 Package,好像没有.) 解决方案 由于类加载器的动态特性,这是不可能的.类加载器不需要告诉虚拟机它可以提供哪些类,它们只是传递给类的请求,并且必须返回一个类或抛出一个异常. 但是,如果您编写自己的类加载器,或检查类路径及其 jar,则可以找到这些信息.这将通过文件系统操作,而不是反射.甚至可能有一些库可以帮助您做到这一点. ..
发布时间:2022-01-13 16:24:06 Java开发

注释 SOURCE 保留政策

来自 Java 文档: 类:注释将由编译器记录在类文件中,但不需要在运行时由 VM 保留. 运行时间:注释将由编译器记录在类文件中,并在运行时由 VM 保留,因此可以反射性地读取它们. 来源:注释将被编译器丢弃. 我了解 RUNTIME(为了使用带反射的注解)和 CLASS(对于编译器)的用法,但我不明白什么时候可以使用 @Retention(RetentionPol ..
发布时间:2022-01-13 10:21:43 Java开发

Java 注解反射排序

当通过反射访问定义在字段上的注释时(即使用 getDeclaredAnnotations() : Annotation[] 方法),Java 6 或 7 规范是否对注释的顺序做出任何保证回.我已经检查了相关的 java 文档,但似乎找不到明确的答案. 解决方案 这确实有点未指定.让我们从可重复注释的 Java 8 特性开始,因为它有一些细节: JLS §9.7.5.同一类型的多个注解 ..
发布时间:2022-01-13 10:12:49 Java开发

通过使用反射获取带有注释的字段列表

我创建我的注释 public @interface MyAnnotation {} 我把它放在我的测试对象的字段上 公共类 TestObject {@MyAnnotation最终的私人展望展望;@MyAnnotation最终私人温度温度;...} 现在我想用 MyAnnotation 获取所有字段的列表. for(Field field : TestObject.class.getDec ..
发布时间:2022-01-13 10:01:44 Java开发