reflection相关内容

使用 .NET 检查一个类型是否支持隐式或显式类型转换为另一种类型

假设您已经获得了两个 System.Type,并且您想确定是否存在从一个到另一个的隐式或显式类型转换. 在没有专门检查静态方法的情况下,是否有内置方法来确定该类型是否支持其中一种或这些转换? 我知道这是一个简短的问题,但我认为这个场景相对容易解释,如果不是,请告诉我. 提前致谢,斯蒂芬. 解决方案 表达式.Convert 可以查找用户定义的转换运算符,但不幸的是,如果找不 ..
发布时间:2022-01-13 00:07:38 C#/.NET

如何在运行时转换类型?

我的场景应该很简单...我要转换的类型 FROM 是 ALWAYS 'string'.我想转换成... 可能是很多东西 - 整数、日期时间、... 字符串等. 这很容易: string valueToConvertFrom = "123";int blah = Convert.ToInt32(valueToConvertFrom); 但是...我不知道(直到运行时)我需要转换为的值是“I ..
发布时间:2022-01-12 23:58:23 C#/.NET

动态 JContainer (JSON.NET) &在运行时迭代属性

我在 MVC4/.NET4 WebApi 控制器操作中收到一个 JSON 字符串.该操作的参数是 dynamic,因为我对接收端收到的 JSON 对象一无所知. public dynamic Post(dynamic myobject) 自动解析 JSON,生成的 dynamic 对象是 Newtonsoft.Json.Linq.JContainer.正如预期的那样,我可以在运行时评估属性, ..
发布时间:2022-01-11 22:21:37 C#/.NET

如何使用 scala 宏创建函数对象(创建 Map[String, (T) => T])

我正在尝试使用 Scala 宏来创建单参数 copy 方法的案例类映射,每个方法都接受一个 Play Json JsValue 和一个案例类实例,并返回实例的更新副本.但是,我遇到了返回函数对象的宏语法问题. 给定一个案例类 case class Clazz(id: Int, str: String, strOpt: Option[String]) 目的是创建类的复制方法的映射 隐式定 ..
发布时间:2022-01-11 19:55:28 其他开发

是否可以检测 C++ 中的命名空间成员资格?

对于 C++ 类型, 标头为我们提供了许多有用的编译时反射功能.例如.std::is_base_of::value 在编译时确定 B 是否是 D 的基类. 我想知道是否可以按照类似的方式检测命名空间成员资格?例如.给定一个类型为 T 的命名空间 N,有没有办法确定 T 是否包含在 N 中IS_NAMESPACE_MEMBER_OF(T,N) 形式的宏表达 ..
发布时间:2022-01-11 19:55:13 C/C++开发

如何在 Scala 中使用没有参数的构造函数参数创建案例类的实例?

我正在制作一个通过反射字段值设置的 Scala 应用程序.这工作正常. 但是,为了设置字段值,我需要一个已创建的实例.如果我有一个带有空构造函数的类,我可以使用 classOf[Person].getConstructors.... 轻松做到这一点. 但是,当我尝试使用具有非空构造函数的 Case 类执行此操作时,它不起作用.我拥有所有字段名称及其值,以及我需要创建的 Object 类 ..
发布时间:2022-01-11 19:40:34 其他开发

匿名类混淆的动态构建

我正在尝试使用反射创建匿名类的实例.但我偶尔会在实例化过程中看到奇怪的行为. 请看这些相似的代码片段 公共类 HideAndSeek {@SuppressWarnings("未选中")public static void main(String[] args) 抛出 IllegalAccessException, InstantiationException{final String fi ..
发布时间:2022-01-11 14:08:11 Java开发

C# 反射与递归

我正在处理 Reflection ,但我在进行递归时卡住了. 代码: 公共类用户{公共字符串名称;公共整数号;公共地址地址;}公共类地址{公串街;公共字符串状态;公共字符串国家;} 现在我正在打印这些值. Type t = user.GetType();PropertyInfo[] props = t.GetProperties();foreach(道具中的PropertyInfo ..
发布时间:2022-01-07 13:43:44 C#/.NET

如何将任何对象序列化为 URI?

我的基本问题:是否有任何构建的东西已经自动执行此操作(不必成为流行库/包的一部分)?我主要使用的是 Spring (MVC) 和 Jackson2. 我知道有几种手动方法可以做到这一点: 在每个类中创建一个方法,将其特定属性序列化为 property=value& 形式(有点臭,因为我觉得这是一堆逻辑重复). 创建一个接受对象的函数,并使用反射动态读取所有属性(我猜是getter), ..
发布时间:2022-01-07 08:23:43 Java开发

如何立即验证 Silverlight 3 Datagrid 中新插入的行?

我有一个带有自定义 DataGrid 用户控件的 Silverlight 3 工具库.此网格无法直接访问 WCF RIA 服务实体类型,因此当用户在网格为空时单击该网格时,我使用反射来添加新项目: private void InsertEmptyRecord(){如果(this._dataGrid.ItemsSource == null)返回;Type[] typeParameters = th ..

我可以使用反射访问 ItemsControl 的 ItemsHost 吗?

我正在创建从 DataGrid 派生的自定义 ItemsControl.我需要访问 ItemsHost,它是实际保存 DataGrid 行的 Panel.我见过一些丑陋的技巧来做到这一点,但我认为它们比使用反射更糟糕.那么我可以使用反射访问 ItemsHost 吗?以及如何? 解决方案 是的,我可以.这很简单 - 我刚刚在继承自 DataGrid 的类中创建了属性: protected ..
发布时间:2022-01-06 09:44:02 C#/.NET

如何获取引用程序集中的所有类型?

无论出于何种原因,我似乎无法获得引用程序集中的类型列表.不仅如此,我什至无法访问这个引用的程序集. 我尝试了 AppDomain.CurrentDomain.GetAssemblies(),但它只返回已加载到内存中的程序集. 我尝试了 Assembly.GetExecutingAssembly().GetReferencedAssemblies(),但这只是返回 mscorlib. ..
发布时间:2022-01-05 12:04:09 C#/.NET

检索 F# 函数的 MethodInfo

我想编写一个函数,将函数 f 作为参数并返回与 f 关联的 System.Reflection.MethodInfo. 我不太确定这是否可行. 解决方案 所以,我终于找到了解决方案.非常hacky,但是嘿!有用!(编辑:仅在调试模式下). let Foo (f:S -> A[] -> B[] -> C[] -> D[] -> unit) =让 ty = f.GetType()让 a ..
发布时间:2022-01-05 10:19:20 其他开发

通过反射创建 F# 记录

如何使用反射在 F# 中创建记录类型?谢谢 解决方案 您可以使用 FSharpValue.MakeRecord[MSDN] 来创建记录实例,但我认为 F# 中没有任何用于定义记录类型的东西.但是,记录会编译为简单的类,因此您可以像在 C# 中一样构建一个类.TypeBuilder[MSDN] 可能是一个很好的起点. 更新 将 [] 添加到类型是使其成为记录所需的全部内容.下面是 ..
发布时间:2022-01-05 10:14:10 C#/.NET

F# 度量单位的反射

目前已将反射支持添加到 F# 中,但它不适用于度量类型.是否可以在 F# 中将反射用于度量类型?我读过 这个.那是 2008 年的,但是如果你在 ildasm 中检查一些类似 bellow 的代码,你就看不到任何关于度量单位的信息. //在 http://fsharp.net 上了解有关 F# 的更多信息[] 类型 m[] 类型厘米让CalculateVelocity(length:float, ..
发布时间:2022-01-05 09:54:30 C#/.NET

PHP 反射类.如何获取属性的值?

我在 PHP 中使用反射类,但我不知道如何获取反射实例中的属性值.有可能吗? 代码: name = '约翰';$t->age = '23';$api = new ReflectionClass($t);foreach($api->getProperties() 作为 $properie){打印 $properie->getName() ."\n";}?> 如何获取 foreach 循环内 ..
发布时间:2022-01-04 23:28:25 PHP