reflection相关内容

如果测试的对象是通用型的C#

我想进行测试,如果对象是一个泛型类型。我已经尝试了以下没有成功: 公共BOOL测试() { 名单< INT>名单=新的名单,其中,INT>(); 返回list.GetType()== typeof运算(名单<>); } 我是什么做错了,我如何执行该测试? 解决方案 如果您要检查它是否是一个泛型类型的实例: 返回list.GetType( ..
发布时间:2015-11-24 13:53:57 C#/.NET

使用.NET,我怎么能确定一个类型是数字值类型?

但这里有一个例子: 暗淡desiredType的类型 如果则IsNumeric(desiredType),然后... 编辑:我只知道是什么类型,不是值作为一个字符串 好了,遗憾的是我通过输入code具有循环。 但是,这是一个很好的方式做到这一点: IF((desiredType.IsArray)) 返回0; 开关(Type.GetType code(desi ..
发布时间:2015-11-24 13:53:27 C#/.NET

Convert.ChangeType()失败的空类型

我想一个字符串转换为一个对象的属性值,他的名字我有一个字符串。我试图做到这一点,像这样: 字符串modelProperty =“一些属性名称”; 字符串值=“someValue中”; VAR属性= entity.GetType()的getProperty(modelProperty)。 如果(属性!= NULL){ property.SetValue(实体, Conver ..
发布时间:2015-11-24 13:42:17 C#/.NET

如何获得的属性与给定的属性列表?

我有型, T ,我想获得具有属性的公共属性列表 MyAttribute 。该属性标记的AllowMultiple = FALSE ,像这样的: [AttributeUsage(AttributeTargets.Property,的AllowMultiple = FALSE)] 目前我有什么是这样的,但我想有一个更好的方法: 的foreach(的PropertyInfo道具在t.Get ..
发布时间:2015-11-24 11:59:58 C#/.NET

反思 - 从System.Type的实例获取泛型参数

如果我有以下的code: 的MyType< INT> anInstance =新的MyType<诠释>(); 类型类型= anInstance.GetType(); 我如何可以找出哪些类型参数(S)“anInstance”被实例化,通过查看类型变量?可能吗 ? 解决方案 使用 使用系统; 使用System.Collections.Generic; 公共类测 ..
发布时间:2015-11-24 11:58:09 C#/.NET

如何获得命名空间内的所有类?

可能显示的文件 对不起。如何获得命名空间内的所有类? 解决方案 您需要做的是“倒退”;列出的组件,然后检查每个类型的命名空间的所有类型: 使用的System.Reflection; 私有类型[] GetTypesInNamespace(议会会议,串命名空间) { 返回assembly.GetTypes()式(T => String.Equals(t.Namespace,命 ..
发布时间:2015-11-24 11:54:59 C#/.NET

如何确定是否一种类型的实现特定的通用的接口类型

假设以下类型定义: 公共接口IFoo的< T> :伊巴尔< T> {} 公共类Foo< T> :IFoo的< T> {} 如何才能知道是否该类型富实现了通用接口伊巴尔< T> 只有当错位类型可用? 解决方案 通过使用答案从第三文化孩子也可以用下面的LINQ查询完成的: 布尔isBar = foo.GetType()GetIn ..
发布时间:2015-11-24 11:49:30 C#/.NET

GetMethod的泛型方法

我想检索的MethodInfo对于在可枚举类型的方法: typeof运算(可枚举).GetMethod(“去哪儿”,新类型[] { 的typeof(IEnumerable的&其中;&1+), typeof运算(Func键<,>) }) 但得到空。我究竟做错了什么? 解决方案 这previous答案适用于某些情况下,但是: 在它不处理嵌套的泛型类 ..
发布时间:2015-11-24 11:47:19 C#/.NET

查找与反思的私人领域?

鉴于这一类 类Foo { //想找到_bar与反思 [SomeAttribute] 私人字符串_bar; 公共字符串BigBar { {返回this._bar; } } } 我想找到私人物品_bar,我将与属性标记。那可能吗? 我已经和我在那里找了一个属性的属性做到了这一点,但从来没有一个私有成员域。 什么是我需 ..
发布时间:2015-11-24 11:32:19 C#/.NET

如何使用反射调用私有方法?

有一组在我的课私有方法,我需要的一个电话动态的基础上的输入值。二者调用code和目标方法是在相同的实例。在code是这样的: MethodInfo的dynMethod = this.GetType()GetMethod的(“Draw_”+ ITEMTYPE)。 dynMethod.Invoke(这一点,新的对象[] {m​​ethodParams}); 在这种情况下, GetMetho ..
发布时间:2015-11-24 11:31:52 C#/.NET

如何加载大会的AppDomain与递归所有引用?

我要加载到一个新的AppDomain一些组件,它有一个复杂的引用树(MYDLL.DLL - > Microsoft.Office.Interop.Excel.dll - > Microsoft.Vbe.Interop.dll - > Office.dll - > stdole.dll) 据我了解,当一个程序集被加载到AppDomain中,它的引用将不会自动加载,我要手动加载它们。 所以,当我做的 ..
发布时间:2015-11-24 11:31:13 C#/.NET

你可以使用反射找到当前正在执行的方法的名称?

就像标题所说:能反射给你当前正在执行的方法的名称 我倾向于,猜测是因为海森堡不是问题的。你如何调用一个方法,将告诉你不改变当前的方法是当前的方法?但我希望有人能证明我错了。 更新: 第2部分:难道这是用来往里code的属性呢? 第3部分:?什么表现像 最终结果 我了解MethodBase.GetCurrentMethod()。我还了解到,不仅我可以创建一个堆栈跟踪,我只能创建我需要的,如 ..
发布时间:2015-11-24 11:31:11 C#/.NET

从类型得到一个新的对象实例

1未必总是知道一个对象在编译时的类型,但可能需要创建类型的一个实例。你如何从一个类型得到一个新的对象实例? 解决方案 在激活中的类根系统命名空间是pretty的强大。 有很多重载的传递参数​​的构造函数和这样的。退房文档: 下面是一些简单的例子: 对象类型的实例=(对象类型)Activator.CreateInstance(的objectType); 对象类型的实例=(对象类型)A ..
发布时间:2015-11-24 11:27:34 C#/.NET

让所有类型的通过反射命名空间

如何在C#中获取的所有类在命名空间通过反射? 解决方案类 随着code打印在指定的命名空间名称在当前汇编中定义。 正如其他人所指出的,一个命名空间可以分散在不同的模块之间,所以你需要获得组件列表第一位。 字符串@namespace =“...”; 变种Q =从Assembly.GetExecutingAssembly T()。GetTypes() 其中,t.IsClass ..
发布时间:2015-11-24 11:23:31 C#/.NET

如何昂贵是.NET反射?

我经常听到多么糟糕的思考是使用。虽然我一般避免反光,很少发现情况就不可能解决我的问题,没有它,我不知道...... 对于那些谁在应用中使用的反射,让你测量的性能命中和,是不是真的那么差? 解决方案 有。但是,这取决于你正在努力做的事情。 我用反射动态加载程序集(插件),其性能“惩罚”是没有问题的,因为操作一些应用程序的启动过程中我做的。 不过,如果你在里面反映了一系列的嵌套循环与每个反射 ..
发布时间:2015-11-24 11:22:00 C#/.NET