问题标签 [system.reflection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - 如何在运行时找出控制器在 asp.net mvc 中属于哪个区域?
由于这些东西很新,我无法找到任何好的参考。
我想使用反射来枚举我的应用程序中的所有控制器。使用反射并不难。但自从面积到位。我如何知道特定控制器属于哪个区域(如果有)?
也许我做错了,也许我需要枚举该区域......那么我该怎么做呢?如果控制器不属于任何区域怎么办?有默认的吗?
有很多很好的文章深入解释了控制器和视图。如果有人可以为我指出类似的区域,我将不胜感激。
c# - 在对象初始化之前使用反射设置静态变量值?
无论如何要在尚未初始化的对象上设置静态(私有)变量的值?该SetValue
方法需要一个实例,但我希望有办法解决这个问题。
c# - 为什么 Assembly.GetExecutingAssembly() 会返回 null?
我使用 xml 文件作为嵌入式资源来加载 XDocument。我们使用以下代码从程序集中获取适当的文件:
所以当代码部署时,我们偶尔会去页面,并不会从嵌入的文档中加载任何内容。当我们检查事件日志时,没有错误。如果用户只是刷新页面,它将正常加载。这让我认为,出于某种原因,assembly = Assembly.GetExecutingAssembly();
偶尔会返回 null,而代码的编写方式并不是错误。所以,我的问题是为什么会Assembly.GetExecutingAssembly();
返回 null?我发现了几篇关于非托管代码有时会出现错误的文章,但这个应用程序是用 C# 编写的,并通过安装项目进行部署。
该代码最初是在没有错误避免代码的情况下编写的。添加它是为了防止用户收到错误屏幕。异常会写入服务器的事件日志。
vb.net - 使用 System.Reflection 确定所有引用
我试图用System.Reflection
. 但是,GetReferencedAssemblies
仅列出“参考”中的那些(在解决方案资源管理器中可见)。
我想从代码本身中确定引用,例如imports
语句。甚至像 if/then 语句、try/catch 之类的东西,绝对是一切。
这可以使用System.Reflection
吗?如果是这样,怎么做?
我肯定更愿意在没有 p/invoke 的情况下这样做。
谢谢您的帮助!
这是在 vb.net 中。
c#-3.0 - 如何将类的所有属性存储在对象数组中?
假设我有一个myClass类,它的属性很少,例如property1、property2、perperty3等。现在,我想用这些属性中的每一个填充一个数组,以便我可以通过它的索引访问它们中的每一个. 有自动的方法吗?
这是来自 SportsStore (Pro ASPN.NET MVC/Steve Sanderson/Apress) 的示例,介绍了如何在“组件”中收集所有活动控制器。
我想知道是否有像上面那样的东西我可以用来收集(仅)一个类的属性并将它们存储在一个数组中,无论每个人的类型值(int、string 还是自定义类型)
我希望我能够清楚地表达自己。否则我可以修改文本。
感谢您的帮助。
c# - 将通过 Reflection.Emit 生成的类型保存为代码文件 (.cs),而不是将其保存在 .dll 文件中
在开始之前,让我谈谈我的经验:我对 C#.NET、Web 服务、XML 部分和其他一些方面有经验。反射对我来说是新事物,虽然我已经广泛阅读并尝试了一些实验性代码,但使用反射并没有做出任何伟大的事情
我检查了many examples
我们如何在运行时创建类型,然后可以将其保存在程序集 (.dll) 文件中。在我看到的所有示例中,都是关于将创建的类型保存在 .dll 文件而不是代码文件中。没有任何方法可以通过反射创建代码文件吗?
我需要创建代码文件,因为我想分发代码而不是编译的程序集。我想做的是类似的事情xsd.exe
,要么吐出 .dll 或代码文件(任何语言)。
没有任何方法可以创建代码文件,因为我能找到的大部分地方都是
然后最后
c# - 仅从类型名称的字符串表示类型转换为类型
我怎么做?而且,假设这是 C# 2.0,我在赋值表达式的左侧取什么?我没有 var 关键字。
.net - 使用反射从 Web 服务加载远程程序集
我在 Web 服务中使用 Assembly.LoadFrom 从网站加载程序集。但问题是它位于虚拟目录中,server.mappath 解析像 \share\mydll.dll 这样的 url,并且 loadform 方法失败。无论如何可以从远程位置引用 dll 吗?
我尝试传递 url ( http://localhost/downloadable/mydll.dll ) 并再次得到“无法加载文件或程序集' http://localhost/downloadable/mydll.dll '或其依赖项之一。已为此 appdomain 禁用了程序集的 HTTP 下载。(来自 HRESULT 的异常:0x80131048)“
c# - 解析 XML 函数名称并在整个程序集中调用
我编写了一个应用程序,通过 Internet 浏览器对我们的硬件进行单元测试。
我在程序集中有命令类,它们是单个 Web 浏览器操作的包装器,例如勾选复选框,从下拉框中进行选择:
和一组测试类,它们使用命令类来执行脚本测试:
然后通过 GUI 调用这些,以运行我们的 QA 团队规定的测试。然而,由于固件在不同版本之间变化很快,如果开发人员可以编写一个可以调用测试或命令的 XML 文件,那就太好了:
我一直在看这System.Reflection
门课,并看到了使用GetMethod
then的例子Invoke
。这要求我在编译时创建类对象,我想在运行时完成所有这些。
我需要扫描整个程序集的类名,然后扫描类中的方法。
这似乎是一个很大的解决方案,所以任何指向我(以及这篇文章的未来读者)答案的信息都会很棒!
谢谢阅读,
马特
c# - 什么是反射,它在 c# 中可以用来做什么?
可能的重复:
反射。使用它我们可以实现什么?
我看到很多在 c# 中使用反射的例子,但我不确定它在 c# 中主要用于什么。那么什么时候使用呢?