Questions tagged «reflection»

反射是程序在运行时观察和/或修改其结构和/或行为的能力。反射取决于支持的编程语言-请在使用此标记时标记正在使用的编程语言。


30
如何在Java中创建通用数组?
由于Java泛型的实现,因此不能有以下代码: public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } 如何在保持类型安全的同时实现此目的? 我在Java论坛上看到了这样的解决方案: import java.lang.reflect.Array; class Stack<T> { public Stack(Class<T> clazz, int capacity) { array = (T[])Array.newInstance(clazz, capacity); } private final T[] array; } 但是我真的不知道发生了什么。

8
如何使用反射调用泛型方法?
当类型参数在编译时未知,而是在运行时动态获取时,调用通用方法的最佳方法是什么? 考虑下面的示例代码-内部Example()方法,什么是最简洁的方式来调用GenericMethod<T>()使用Type存储在myType变量? public class Sample { public void Example(string typeName) { Type myType = FindType(typeName); // What goes here to call GenericMethod<T>()? GenericMethod<myType>(); // This doesn't work // What changes to call StaticMethod<T>()? Sample.StaticMethod<myType>(); // This also doesn't work } public void GenericMethod<T>() { // ... } public static void …
1069 c#  .net  generics  reflection 

22
使用C#中的反射从字符串获取属性值
我正在尝试在代码中使用Reflection 1示例实现数据转换。 该GetSourceValue函数具有一个比较各种类型的开关,但是我想删除这些类型和属性,并GetSourceValue仅使用单个字符串作为参数来获取属性的值。我想在字符串中传递类和属性,并解析该属性的值。 这可能吗? 1个 原始博客文章的Web存档版本

28
如何获取代码所在的程序集的路径?
有没有办法获取当前代码所在的程序集的路径?我不希望调用程序集的路径,而只是包含代码的路径。 基本上,我的单​​元测试需要读取一些相对于dll的xml测试文件。无论测试dll是从TestDriven.NET,MbUnit GUI还是其他版本运行,我都希望该路径始终能够正确解析。 编辑:人们似乎误解了我在问什么。 我的测试库位于 C:\ projects \ myapplication \ daotests \ bin \ Debug \ daotests.dll 我想走这条路: C:\ projects \ myapplication \ daotests \ bin \ Debug \ 当我从MbUnit Gui运行时,到目前为止,这三个建议使我失望: Environment.CurrentDirectory 给出c:\ Program Files \ MbUnit System.Reflection.Assembly.GetAssembly(typeof(DaoTests)).Location 给出C:\ Documents and Settings \ george \ Local Settings \ Temp \ …
780 c#  .net  reflection  mbunit 






16
获取实现接口的所有类型
使用反射,如何以最少的代码获得使用C#3.0 / .NET 3.5实现接口的所有类型,并最大程度地减少迭代次数? 这是我要重写的内容: foreach (Type t in this.GetType().Assembly.GetTypes()) if (t is IMyInterface) ; //do stuff


14
程序化等效的默认值(类型)
我正在使用反射来遍历Type的属性并将某些类型设置为其默认值。现在,我可以在类型上进行切换并default(Type)显式设置,但我宁愿一行执行。是否有程序等效的默认值?
514 c#  reflection  default 

25
在运行时获取类的通用类型
我该如何实现? public class GenericClass<T> { public Type getMyType() { //How do I return the type of T? } } 到目前为止,我尝试过的所有操作始终返回类型,Object而不是所使用的特定类型。

23
获取枚举值的属性
我想知道是否有可能获取enum值的属性而不是其enum本身?例如,假设我有以下内容enum: using System.ComponentModel; // for DescriptionAttribute enum FunkyAttributesEnum { [Description("Name With Spaces1")] NameWithoutSpaces1, [Description("Name With Spaces2")] NameWithoutSpaces2 } 我想要的是给定的枚举类型,产生2个元组的枚举字符串值及其描述。 价值很容易: Array values = System.Enum.GetValues(typeof(FunkyAttributesEnum)); foreach (int value in values) Tuple.Value = Enum.GetName(typeof(FunkyAttributesEnum), value); 但是,如何获取描述属性的值进行填充Tuple.Desc?我可以考虑如果Attribute属于enum自身,那么该怎么做,但是我对于如何从的值中获取它感到困惑enum。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.