system.reflection相关内容

通过变量引用属性名称

是否可以使用变量来引用属性名称? 场景:对象A具有公共整数属性X和Z,所以... public void setProperty(int index,int value){字符串属性=“";如果(索引== 1){//将属性X设置为'value'属性="X";}别的{//将属性Z设置为“值"属性="Z";}A. {property} =值;} 这是一个愚蠢的例子,所以请相信,我对此很有 ..
发布时间:2021-04-18 19:37:54 C#/.NET

如何在.NET Core中发出类型

在C#中,如何使用.NET Core在运行时发出新的Type?我为.NET 6找到的所有示例似乎都无法在.NET核心中使用(它们都以获取当前的AppDomain开头,而该AppDomain在.NET核心中不再存在). 如果可能的话,我希望看到一个涉及创建Type并将属性添加到Type的示例. 解决方案 此处是有关在.NET 4中创建动态类型的文章. 如何在C#中动态创建类? ..
发布时间:2021-04-18 19:24:16 C#/.NET

.GetType().GetProperties()以不同的顺序返回属性

我想检查我们的配置文件,看看它是否与我要创建一个新的配置文件相同.此方法称为GetConfig(). 几个小时后,我注意到如果我保存配置文件,然后调用GetConfig,它会起作用,但是如果我关闭程序,请启动它并加载我的配置文件,然后调用GetConfig(),它将以不同的顺序返回我的属性. 在下面您可以看到我的意思,属性 b 是类的对象.有3个以上的属性,但我只想举一个小例子: - ..
发布时间:2021-04-18 19:17:58 C#/.NET

在运行时动态更改对dll的引用

在一种情况下,我在不同的文件夹中有多个.dll文件,它们都具有相同的名称,其中包含相同的功能(具有相同的名称),但是具有相同名称的功能内部的代码是不同的. 我已经在设计中创建了我的应用程序,引用了这些.dll文件之一.但是我希望在我的应用程序启动时,使用选择用例能够将对这些dll的引用更改为一个. 这可能吗? 谢谢! 解决方案 您不能这样做,如果要使用在运行时选择的dll,则 ..
发布时间:2021-04-11 20:51:46 C#/.NET

动态加载库

我具有以下项目结构: Web API 类库 A 类库 B 类库 C 这些是项目之间的引用 Web API 直接引用 A 和 B B 直接引用 C C 具有一种方法,该方法需要确保加载 A 以便通过反射使用其中定义的类型. 我的代码实际上如下所示 公共类C {公共无效MethodCallingBType(字符串fullClassName){//例如."MyNa ..
发布时间:2021-04-11 20:32:25 C#/.NET

获取程序集中每个WebForm上的控件列表

是否可以使用反射获取Web窗体上存在的控件的纯文本列表?基本上,一位同事正在寻求获取控件列表以帮助定义验证策略,例如通常,产品编号必须是数字,但在某些屏幕上,它们可以是字母数字.我认为使用反射生成类似以下内容的列表将很简单: AddProduct.aspxtxtProductNumbertxtProductName等等. 我可以获得表单名称,但到目前为止还没有包含其中的控件.当前代码如下: ..
发布时间:2021-04-10 20:29:16 C#/.NET

Reflection.MethodInfo

我正在尝试通过名称调用方法-在aspx代码隐藏类中作为字符串传入,如下所示: private void callMethod(字符串方法){object classInstance = Activator.CreateInstance(this.GetType(),null);MethodInfo methodInfo = GetType().GetMethod(method);methodI ..
发布时间:2021-04-10 19:34:41 C#/.NET

在Windows窗体中列出(顶级)声明的变量

创建窗体的实例后,我可以轻松列出窗体中的所有控件. 有没有列出所有 声明的变量 或此类对象的机制? 也许我将其称为声明.仅顶级声明就足够了. 假设我们有带有以下顶级声明的 MyForm 表单: Dim Town as String昏暗的ZIP作为字符串昏暗的StreetName作为字符串Dim StreetNo as String公开dtCountries作为DataTable以 ..
发布时间:2021-04-01 21:50:06 C#/.NET

typeof(DateTime?).Name ==可空`1

在.Net typeof(DateTime?).Name 中使用反射.返回"Nullable`1". 有什么方法可以将实际类型作为字符串返回.(在这种情况下为"DateTime"或"System.DateTime") 我了解 DateTime?是 Nullable .除此之外,我只是在寻找可空类型的类型. 解决方案 有一个 ..
发布时间:2021-04-01 20:56:18 C#/.NET

如何获得当前函数的名称?

可能重复: 可以使用反射来查找当前执行的方法的名称? C#如何获取名称代码中当前方法的说明 例如: void foo(){Console.Write(__ MYNAME__);} 打印: foo 有可能用C#吗? 解决方案 尝试一下: System.Reflection.MethodBase.GetCurrentMethod().Name ..
发布时间:2021-04-01 20:18:25 C#/.NET

为什么对C#复制中的属性进行密封重写而不是从基本类型重写访问器?

在C#中,重写自动属性并仅提供一个访问器会通过 PropertyInfo “丢失"另一个访问器,即使它是在基类中定义的. 乍一看可能看起来很奇怪,但是经过更详细的分析,它似乎合理. 但是,将 override 更改为 sealed Override 也会更改此行为,并允许获取所有访问者: 使用System.Reflection ;使用NUnit.Framework;[TestFix ..
发布时间:2021-04-01 20:06:49 C#/.NET

为什么CanRead和CanWrite在C#中对于具有覆盖访问器的属性返回false?

在尝试从派生属性获取属性访问器或使用CanRead/CanWrite时,出于某些原因,未考虑基本的自动属性. CanRead 和 CanWrite 返回值仅基于派生类型, GetMethod 和 SetMethod 也不返回包含基本类型的方法. 但是,在编写代码时,可以使用基本类型的访问器(这样我们就可以仅使用派生类型中定义的setter来读取覆盖的自动属性). 以下是将其复制为 ..
发布时间:2021-04-01 20:06:00 C#/.NET

如何在SSIS脚本组件中按名称循环遍历列?

我正在将管道分隔的平面文件加载到临时表中。在加载过程中,SSIS脚本组件在一行上执行一些操作。它可以根据另一个字段中的值在一个字段中设置标志,为某些列添加前缀,或应用格式。例如,如果缺少日期,则将该字段分配给默认日期。 (如果Row.EndDate_isNull,则Row.EndDate = defaultDate) 当需要将相同的转换应用于一系列行时,这些脚本变得很麻烦。例如,病历文件可以 ..
发布时间:2020-10-30 23:48:41 数据库

如何在一个字节数组之间对一个装配对象进行序列化/反序列化

假设通过 编译代码字符串在内存中创建一个(可执行)程序集。然后,我想将此程序集 对象序列化为字节数组,然后将其存储在数据库中。然后,稍后我想从数据库中检索 并将字节数组 反序列化为程序集对象,然后调用程序集的条目 点。 起初,我只是想像.net中的任何其他简单对象一样进行此序列化,但是显然,它不适用于汇编对象。程序集对象包含一个名为GetObjectData的方法,该方法获取重新实 ..
发布时间:2020-10-21 00:09:20 C#/.NET