reflection 相关问题

反射是程序在运行时观察和/或修改其结构和/或行为的能力。反射高度依赖于实现代码语言 - 请标记使用此标记时使用的代码语言。

衡量方法的重用

我需要统计特定包下的任何方法被调用的次数(类似于Hieracy,但在运行时,导出结果) 例如: 方法 setA 被调用了 17 次,该方法...

回答 1 投票 0

深度复制具有未导出字段的结构

我正在尝试在 Go 中深度复制一个结构体。我已成功地深度复制仅包含导出字段的结构。然而,当遇到未导出的字段时,我无法复制...

回答 1 投票 0

toString 方法会抛出 KotlinReflectionInternalError

为什么在函数引用上调用方法 toString() 会导致错误 KotlinReflectionInternalError 有趣的主(){ 有趣的 foo(){} ::foo.toString() } 输出: 线程“main”中出现异常

回答 2 投票 0

如何在编译时获取 C++ 表达式的类型(即 constexpr'ly)?

我想在编译时使用类型的名称。例如,假设我写了: constexpr size_t my_strlen(const char* s) { const char* cp = s; while(*cp != ' ') { cp++...

回答 3 投票 0

Java 通配符列表到特定 JavaList

我正在开发一个文件阅读器实用程序。我在类型转换方面面临一些挑战。 我有一个如下列表 类 classType= getClassType(""); List list= reader.read(file,classType);

回答 1 投票 0

如何使用反射调用通用静态扩展方法?

在开始之前:我知道有很多类似的问题已经得到解答。 我已经尝试了很多,但他们只是不为我工作,我不太确定我在做什么......

回答 1 投票 0

如何在 Laravel 中获取所有 Eloquent 模型?

我希望找到一种方法来获取我的应用程序中所有 Eloquent 模型的列表。也许我需要使用反射。 这是我尝试做的。但是,这不起作用,因为 get_declared_classes()

回答 2 投票 0

c++反射中引入meta::reflect_value的目的是什么?

我正在阅读 P2996 (https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2996r2.html) 论文,该论文介绍了 C++ 语言中的反射。有一些示例展示了如何使用这些功能...

回答 1 投票 0

PropertyGrid、DefaultValueAttribute、动态对象和枚举

注意:我正在使用.Net 1.1,尽管我并不完全反对使用更高版本的答案。 我正在 PropertyGrid 中显示一些动态生成的对象。这些对象有数字、t...

回答 2 投票 0

具有动态ArrayList项目类型的Gson TypeToken

我有这个代码: 类型 typeOfObjectsList = new TypeToken>() {}.getType(); ListobjectsList = new Gson().fromJson(json, typeOfObjectsList); 它转换...

回答 14 投票 0

为什么 Assembly.GetExecutingAssembly() 在 NuGet 包中返回不同的结果?

我是创建 NuGet 包的新手,我在各种环境中运行了以下代码片段: /// /// 尝试在执行程序集中按名称查找类型,然后再查找类型 /// 在 我是创建 NuGet 包的新手,我在各种环境中运行了以下代码片段: /// <summary> /// Tries to find type by name in the executing assembly and after that /// in referenced assemblies. /// </summary> /// <param name="typeName">Name of the type to find (can be full or assembly qualified name as well).</param> /// <returns>Type found using the given name (or null if not found).</returns> public static Type FindType(string typeName) { if (typeName == null) throw new ArgumentNullException(nameof(typeName)); // Helper method for finding the type in an assembly Type Finder(Assembly ass) => ass?.GetTypes().FirstOrDefault(type => typeName.In(type.Name, type.FullName, type.AssemblyQualifiedName) ); // Get the current assembly var executingAssembly = Assembly.GetExecutingAssembly(); // Check if the type is inside the current assembly var targetType = Finder(executingAssembly); // Go through all of the referenced assemblies foreach (var assName in executingAssembly.GetReferencedAssemblies()) { // If the type was found, return it if (targetType != null) return targetType; // Check if the type is inside the assembly targetType = Finder(Assembly.Load(assName)); } return null; // Type wasn't found, return null } 如果我将其作为本地函数或通过引用的项目运行,它可以正常工作,但是当我创建 NuGet 包并使用 NuGet 包内的方法的实现来调用该方法时,它会返回 null。 方法 Assembly.GetExecutingAssembly 声称它返回 The assembly that contains the code that is currently executing 但从 NuGet 包运行它时我得到了不同的结果。 如果将方法打包到 NuGet 包中,我该怎么做才能从方法中获得正确的输出? 不要依赖于 GetCallingAssembly(),行为可能会有所不同 取决于 JIT 编译器 要解决您的问题,您可以使用: Assembly.GetEntryAssembly()

回答 1 投票 0

在 C# 中继承的类类型上递归获取GenericArguments?

在 C# 中我有 Gen1 类 {} Gen2 类:Gen1 {} 类 Ins:Gen2 {} var ins = new Ins(); 类型 insType = ins.GetType(); 我怎样才能得到

回答 1 投票 0

将`Type`转换为`KType`

有没有办法从 java.lang.reflect.Type 获取 Kotlin KType? 背景:我正在编写一些代码,这些代码从类中获取属性/字段并将它们传递给方法(想想 JUnit 4 理论......

回答 1 投票 0

EF Core 在添加时更改实体的 ID。无法跟踪实体,因为具有键值的另一个实例已被跟踪

我正在开发一个为关系数据库生成随机数据的库。我使用反射在 DbContext 中添加实体实例,因为我无法显式指定实例的类型。

回答 1 投票 0

EFCore 在添加时更改实体的 ID。无法跟踪实体,因为具有键值的另一个实例已被跟踪

我正在开发一个为关系数据库生成随机数据的库。我使用 Reflection 在 DbContext 中添加实体实例,因为我无法显式指定实例的类型: p...

回答 1 投票 0

反映程序集类型时出现文件未找到错误

遍历 *.dll 文件的目录,找到它们并为每个文件创建程序集引用。 一旦我有了反射对象,我就会迭代每个对象中可用的所有类型,从...

回答 2 投票 0

有没有办法使用reflect来获取原始函数及其签名

我想从特定结构的所有方法创建一个 funcMap。 我有以下代码: 类型 templateFuncs 结构{} func (t templateFuncs) UnescapeHTML(html 字符串) template.HTML { html =

回答 1 投票 0

动态加载程序集u200f AssemblyResolve 问题

注意: 这是我上一篇文章的延续: 动态调用程序集的复杂 API 问题 我正在编写一个在网络上运行并使用 SQL Ser 的 .Net Windows 窗体应用程序...

回答 2 投票 0

动态调用程序集的复杂 API 问题

我有一个有趣的挑战,我想知道这里是否有人可以给我一些指导。 我正在编写一个 .Net Windows 窗体应用程序,该应用程序在网络上运行并使用 SQL Server 来保存和...

回答 2 投票 0

如何通过显式指定参数类型找到 IEnumerable<T>.ToList() 方法,然后使用自定义参数类型调用它?

假设我们有以下代码(对我自己的代码进行了高度简化的修改): 使用系统; 使用系统集合; 使用 System.Collections.Generic; 使用 System.Linq; 命名空间

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.