Tag: system.reflection

Dapper with Attributes mapping

我尝试使用列属性映射我的Id字段,但由于某种原因,这似乎不起作用,我无法弄清楚原因。 我建立了一个测试项目,以展示我正在尝试的内容。 首先,我得到了我的2个实体: 实体表1 using System.Data.Linq.Mapping; namespace DapperTestProj { public class Table1 { [Column(Name = “Table1Id”)] public int Id { get; set; } public string Column1 { get; set; } public string Column2 { get; set; } public Table2 Table2 { get; set; } public Table1() { Table2 = new Table2(); } } } 和实体表2 […]

通常填充不同的类成员

我正在开发一个带有几(11)个Web服务调用的Web服务应用程序。 对于每个Web服务,我需要从字符串数组中填充Soap Body,如下所示: if (aMessage[(int)DCSSCustomerUpdate_V3.Branch].ToString().Length != 0) { wsSoapBody.Branch = aMessage[(int)DCSSCustomerUpdate_V3.Branch].ToString(); } aMessage[int]是字符串数组,[int]由枚举常量定义 – 在这种情况下,它定义如下: private enum DCSSCustomerUpdate_V3 { MsgType = 0, MsgVersion = 1, WSName = 2, ReplyTo = 3, SourceSystem = 4, … } 部分类中的属性名称与枚举常量匹配,所以我想我也会传入枚举常量? 部分类在wsdl中定义如下: public partial class DCSSCustomerUpdateType { private string instIdField; private string branchField; … } 我不知道是否有一种方法可以传递部分类wsSoapBody (以及字符串数组)并循环遍历类的所有成员,分配值,而不是分别为每一个执行此操作(在11个自定义服务类中)从字符串数组? 编辑 : […]

使用System.Reflection加载ASP.NET 2.0 aspx页面?

我可以使用System.Reflection在另一个独立的aspx页面中加载一个独立的aspx页面吗? 我正在使用ASP.NET 2.0网站项目模型。

在字符串变量中创建名称的对象实例

我不知道我问的问题是否可用,但我只是想知道它是否存在以及它是如何工作的。 所以这是我的问题: 我有自己的2-3个自定义模型类。 例如,客户,员工和产品。 现在我在一个字符串中有类名。 并且基于字符串中的类名,我必须创建它的对象并返回到VIEW。 我怎么能实现这个目标? 我知道IF ELSE声明的一个选项,但我想尝试更好的“ 动态 ”方式……

GetPropertyreflection导致新属性中出现“模糊匹配”

我如何获得我的财产? 目前Ambiguous match found的Ambiguous match found发生错误,请参阅代码中的注释行。 public class MyBaseEntity { public MyBaseEntity MyEntity { get; set; } } public class MyDerivedEntity : MyBaseEntity { public new MyDerivedEntity MyEntity { get; set; } } private static void Main(string[] args) { MyDerivedEntity myDE = new MyDerivedEntity(); PropertyInfo propInfoSrcObj = myDE.GetType().GetProperty(“MyEntity”); //– ERROR: Ambiguous match found }

获取程序集中的类型(错误:System.Reflection.ReflectionTypeLoadException)

我收到类型exception“Exception Details:System.Reflection.ReflectionTypeLoadException:无法加载一个或多个请求的类型。检索LoaderExceptions属性以获取更多信息。” 使用以下代码: public IEnumerable FindClassesOfType(Type assignTypeFrom, IEnumerable assemblies, bool onlyConcreteClasses = true) { foreach(var a in assemblies) { foreach (var t in a.GetTypes()) 我需要获取每个程序集中定义的类型,但似乎无法生成它。 我已经通过删除dll,清理解决方案,重新加载解决方案等执行了与错误的程序集创建相关的所有典型过程,但没有发生任何事情。 我想请求想法,以通过找到一种方法来检索错误的更多信息,或者找到组件产生问题或类似的东西来解决这个问题。 当前的exception消息是如此模糊,以至于意识到哪个是问题。 非常感谢。 ps:附加信息,当我运行重建操作时,所有进程都正确生成且没有错误。

如何使用Reflection调用自定义运算符

在我的小项目中,我使用System.Reflection类来生成可执行代码。 我需要调用自定义类型的+运算符。 有谁知道如何使用C#reflection调用自定义类的自定义运算符?

如何查找C#类的内部属性? 保护? 保护内部?

如果我有一个C#类MyClass如下: using System.Diagnostics; namespace ConsoleApplication1 { class MyClass { public int pPublic {get;set;} private int pPrivate {get;set;} internal int pInternal {get;set;} } class Program { static void Main(string[] args) { Debug.Assert(typeof(MyClass).GetProperties( System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance).Length == 1); Debug.Assert(typeof(MyClass).GetProperties( System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).Length == 2); // internal? // protected? // protected internal? } } } 上面编译的代码是没有任何断言失败的运行。 NonPublic返回内部和私有属性。 BindingFlags上的其他辅助function类型似乎没有标志。 […]

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

我想查看我们的配置文件,看看它是否与创建新配置文件相同。 此方法称为GetConfig()。 几个小时后,我注意到如果我保存我的配置文件,然后调用GetConfig就行了,但是如果我关闭程序启动它并加载我的配置文件并调用GetConfig()它会以不同的顺序返回我的属性。 下面你可以看到我的意思,属性b是一个类的对象。 有超过3个属性,但我只想给出一个小例子: – – – – – – – – — – – – – – — SAVECONFIG – – – – – – — – GETCONFIG 1 Field: a 1 Field: b 1 Field: c 以及它必须保存的下一个配置对象。 1 Field: a 1 Field: b 1 Field: c 当我在同一个实例上加载配置时 – – – — – […]

如何将程序集对象序列化/反序列化为字节数组

假设通过编译代码字符串在内存中创建(可执行)程序集。 然后我想将此程序集对象序列化为字节数组,然后将其存储在数据库中。 然后,我想从数据库中检索字节数组,并将字节数组反序列化为一个程序集对象,然后调用程序集的入口点。 起初我只是尝试像.net中的任何其他简单对象那样执行此序列化,但显然这不适用于程序集对象。 程序集对象包含一个名为GetObjectData的方法,该方法获取重新实例化程序集所需的序列化数据。 所以我有点困惑的是我如何将这一切拼凑起来用于我的场景。 答案只需要展示如何获取程序集对象,将其转换为字节数组,将其转换回程序集,然后在反序列化程序集上执行entry方法。