system.reflection相关内容
你好我对反射相当熟悉,我已经看过很多例子,我知道它是如何工作的,以及我们可以使用它的目的.但是我没有得到任何缓存反射的例子,我也不知道这是什么意思.不知何故,我必须在我正在做的项目中使用反射缓存. 因此,如果有人可以简要解释这个概念并给出一些示例,我将不胜感激,也将不胜感激现有示例的链接.并且还请描述属性的反射及其缓存.提前致谢. 问候乌麦尔 解决方案 你可以像缓存其他任何东西
..
我有一个场景,我需要在运行时更改公共静态字段.我知道我可以通过如下反射来设置我想要的公共静态字段,但它真的很慢. string typeName = "ABC";string fieldName = "IsA";Type.GetType(typeName ).GetField(fieldName ).SetValue(null, value);var value = Type.GetType(t
..
假设,我们有这三种类型: class class1{ public static int serial=1};class class2{ public static int serial=2};class class3{ public static int serial=3}; 序列号可以是静态字段或属性,例如: class class1{ public override byte seri
..
我正在用数据行填充不同类型的对象,相关对象的每个属性 = 到数据行中的类似名称字段. 我想使用一个通用函数来做到这一点.如何从泛型函数强制返回对象的类型.我还不知道 语法实际上意味着什么:PopulateObject 未返回类型,因为我收到编译器错误 - 无法将类型“对象"隐式转换为“JobCard"在下面查看我的代码 public JobCard AcceptJobCard(Gu
..
我的项目引用 TypesDefinitionAssembly 的类型为 SomeType,它由 XSerializationLibrary 和 的属性 XSerializationOptions 标记YSerializationLibrary 中的 >YSerializationOptions. 显然,要检查SomeType 是否被XSerializationOptions 标记,我还需要引
..
可能的重复: 我如何使用反射来确定数组的嵌套类型? 我有一个 A 类并试图在其中获取数组的基础类型. A 类{A1[] obja1;A2[] obja2;字符串 x;国际我;} 如何将obja1的底层对象类型设为A1,将obja2设为A2?以下是我拥有的部分代码: object AClass = myAssembly.CreateInstance("A");PropertyInfo
..
我有一个引用实用程序程序集的控制台应用程序 (MyProgram.EXE). 在我的实用程序程序集中,我有这样的代码: Dim asm As Assembly = Assembly.GetExecutingAssembly()Dim location As String = asm.LocationDim appName As String = System.IO.Path.GetDire
..
我有一个 Winforms 应用程序,想显示版本号,以便我们知道我们的更新脚本是否正确运行.有没有办法获取发布版本号(如应用程序的属性页中的“发布"选项卡中所示)? 当我使用 Reflection.Assembly.GetExecutingAssembly().GetName().Version 等时,它似乎使用了 AssemblyInfo.vb 中的 AssemblyVersion 编号,
..
我正在尝试使用反射在 C# 中获取 FontWeights 类的属性. var properties = typeof(FontWeights).GetProperties();var dialog = new MessageDialog("权重数:" + properties.Length);等待 dialog.ShowAsync(); 当使用 Debug 配置构建时,上述内容按预期工作.但
..
在我的应用程序中,我从某处接收到 functionCode 值并需要反映适当的类.我试图根据 this 解决方案反映适当的类型.但这对我不起作用.我不能使用 GetField() 方法,因为我正在处理一个 PCL 项目.因此我尝试了这些代码行: AssemblyName name = new AssemblyName("MyLibrary");var type = Assembly.Load(n
..
如果我有一个 C# 类 MyClass 如下: 使用 System.Diagnostics;命名空间 ConsoleApplication1{我的课堂{公共 int pPublic {get;set;}private int pPrivate {get;set;}内部 int pInternal {get;set;}}课程计划{static void Main(string[] args){De
..
我正在 VB 中开发一个 ASP.NET MVC Web 应用程序,我需要将一组数据输出为表格格式,并允许用户配置可用集中列的顺序和存在.数据集存储为表示行模型的对象类型列表. 目前,我使用 CallByName.迭代属性名称的有序列表并从行模型的实例输出值.然而,根据测试,这似乎是该过程中的一个主要瓶颈. 我看到过建议存储委托以获取属性,而不是属性名称的字符串表示.所以,我大概可以做
..
很长一段时间以来,我一直在努力寻找一种方法来动态实例化扩展特定基类的所有类(在运行时).从我读到的内容来看,它应该使用 Reflection 来完成,不幸的是我还没有弄清楚如何. 我的项目结构如下: 库--||--Vehicle.cs(抽象类)|--Car.cs(扩展车辆)|--Bike.cs(扩展车辆)|--Scooter.cs(扩展车辆)|--InstanceService.cs(静态
..
我正在使用反射从类中读取所有属性和方法.所以我想使用反射来识别方法的内部调用方法.我尝试使用 'GetMethodBody()' 方法读取 MethodBody.但它只列出了局部变量.那么你能帮忙解决这个问题吗? 解决方案 您无法通过反射从 MethodInfo 获取方法调用. 方法调用只是一条IL指令,从反射的角度来看,一切都只是IL.加载参数的指令和调用方法的指令没有区别.
..
我一直在寻找一个新手问题,但找不到一个简单的例子.谁能给我一个简单的例子,如何将 MethodBody 放入最可用的字符串结果中?喜欢: 使用 Mono.Cecil;使用 Mono.Cecil.Cil;命名空间我的{公共课主要{公共主(){//伪代码,但不起作用Console.Write( getMethod("HelloWorld").GetMethodBody().ToString());}
..
当 C# 编译器解释方法调用时,它必须使用(静态)参数类型来确定实际调用的是哪个重载.我希望能够以编程方式执行此操作. 如果我有方法的名称(string)、声明它的类型(System.Type 的实例)和参数类型列表我希望能够调用标准库函数并返回一个 MethodInfo 对象,该对象表示 C# 编译器将选择调用的方法. 例如如果我有 class MyClass {public vo
..
我想从我的程序集中获取所有类型,但我没有引用,我也不关心它们.查找接口类型与引用有什么关系?有没有办法让我解决这个问题? Assembly assembly = Assembly.LoadFrom(myAssemblyPath);Type[] typeArray = assembly.GetTypes(); 抛出:文件未找到异常无法加载文件或程序集“某些引用的程序集"或其依赖项之一.系统找不到
..
我很好奇是否有人可以将如何通过绑定实例枚举可用的 ADSI 方法为 [ADSI]$instance.psbase.Invoke()? 研究结果 "参考 ADSI 接口的文档".但我对这个答案并不特别满意. 如果我实例化: [ADSI]$lhost_group="WinNT://./Administrators,group" 然后尝试: @($lhost_group.psbase.
..
我有一个如下所述的课程: 公共类Employee {[JsonProperty("emp_id")]public int ID {get;放;}[JsonProperty("emp_fname")]公共字符串名称{get; set;}[JsonProperty("emp_lname")]公用字符串LastName {get; set;}} 在上面的课程中,我分配了Newtonsoft Att
..
在此帖子中,我问并回答了如何动态导入类&的值.无需硬编码的EF/DbSet模型中的属性.我简直不敢相信我会绊倒足够长的时间来找出一种方法来做到这一点.但是... 它揭示了一个问题,即无法在“本地"窗口中浏览实例层次结构数小时: 虽然我可以在目标类上动态导入数据,但它从基类扩展的任何属性均会失败.上面的第一篇文章最后说明了这一点.在将数据导入到DataTable之后,我们的问题就会显现出
..