标签: reflection

获取实现接口的所有类型

使用反射,如何使用最少的代码获得使用C#3.0/.NET 3.5实现接口的所有类型,并最大限度地减少迭代?

这就是我想要重写的内容:

foreach (Type t in this.GetType().Assembly.GetTypes())
    if (t is IMyInterface)
        ; //do stuff
Run Code Online (Sandbox Code Playgroud)

c# reflection optimization lambda c#-3.0

524
推荐指数
11
解决办法
24万
查看次数

你能用反射找到包中的所有类吗?

是否可以找到给定包中的所有类或接口?(快速查看例如Package,它似乎没有.)

java reflection packages

504
推荐指数
13
解决办法
36万
查看次数

程序化等效的默认值(类型)

我正在使用反射来遍历一个Type属性并将某些类型设置为默认值.现在,我可以对类型进行切换并default(Type)明确设置,但我宁愿在一行中进行.有默认的程序化等价物吗?

c# reflection default

492
推荐指数
10
解决办法
13万
查看次数

在运行时获取泛型类

我怎样才能做到这一点?

public class GenericClass<T>
{
    public Type getMyType()
    {
        //How do I return the type of T?
    }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试的所有东西总是返回类型Object而不是使用的特定类型.

java generics reflection

474
推荐指数
16
解决办法
53万
查看次数

如何从Java中的不同类读取私有字段的值?

我在第三方设计的设计很差JAR,我需要访问其中一个私有字段.例如,为什么我需要选择私人领域是否有必要?

class IWasDesignedPoorly {
    private Hashtable stuffIWant;
}

IWasDesignedPoorly obj = ...;
Run Code Online (Sandbox Code Playgroud)

我如何使用反射来获得价值stuffIWant

java reflection field private class

466
推荐指数
7
解决办法
27万
查看次数

使用Java反射更改私有静态final字段

我有一个带有private static final字段的类,不幸的是,我需要在运行时更改.

使用反射我得到这个错误: java.lang.IllegalAccessException: Can not set static final boolean field

有没有办法改变价值?

Field hack = WarpTransform2D.class.getDeclaredField("USE_HACK");
hack.setAccessible(true);
hack.set(null, true);
Run Code Online (Sandbox Code Playgroud)

java reflection static final private

454
推荐指数
8
解决办法
22万
查看次数

获得Enum价值的属性

我想知道是否可以获取枚举值的属性而不是枚举本身的属性?例如,假设我有以下枚举:

using System.ComponentModel; // for DescriptionAttribute

enum FunkyAttributesEnum
{
    [Description("Name With Spaces1")]
    NameWithoutSpaces1,    
    [Description("Name With Spaces2")]
    NameWithoutSpaces2
}
Run Code Online (Sandbox Code Playgroud)

我想要的是枚举类型,产生2元组的枚举字符串值及其描述.

价值很容易:

Array values = System.Enum.GetValues(typeof(FunkyAttributesEnum));
foreach (int value in values)
    Tuple.Value = Enum.GetName(typeof(FunkyAttributesEnum), value);
Run Code Online (Sandbox Code Playgroud)

但是如何获取描述属性的值,以填充Tuple.Desc?如果属性属于枚举本身,我可以想到如何做到这一点,但我不知道如何从枚举的值中获取它.

c# reflection enums .net-attributes

453
推荐指数
9
解决办法
27万
查看次数

获取当前正在执行的方法的名称

有没有办法在Java中获取当前正在执行的方法的名称?

java reflection methods

451
推荐指数
14
解决办法
36万
查看次数

instanceof和Class.isAssignableFrom(...)有什么区别?

以下哪项更好?

a instanceof B
Run Code Online (Sandbox Code Playgroud)

要么

B.class.isAssignableFrom(a.getClass())
Run Code Online (Sandbox Code Playgroud)

我所知道的唯一区别是,当'a'为null时,第一个返回false,而第二个抛出异常.除此之外,他们总是给出相同的结果吗?

java reflection instanceof

441
推荐指数
9
解决办法
25万
查看次数

C#获取自己的类名

如果我有一个被调用的类MyProgram,有没有办法将" MyProgram " 检索为字符串?

c# reflection

422
推荐指数
8
解决办法
35万
查看次数