首页 文章
  • 87 votes
     answers
     views

    在单元测试中使用Reflection是不好的做法吗? [重复]

    这个问题在这里已有答案: How do I test a private function or a class that has private methods, fields or inner classes? 47答案 在过去的几年里,我一直认为在Java中,Reflection在单元测试中被广泛使用 . 由于某些必须检查的变量/方法是私有的,因此必须以某种方式读取它们的值 . 我一直认...
  • 468 votes
     answers
     views

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

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

    架构和ABI兼容性

    我有一个想法,将C编译为二进制文件,将二进制文件存储在堆上并执行它 . 我正在考虑对Google Native Client这样的特定架构进行编译的一个实现,然后知道我编译的架构,在运行时使用相同或不同的编译器 - 在我的程序中编译"snippet"或"script"和将机器代码输出到堆上分配的内存 . 然后将函数指针指向正确的位置并运行它 . 我的问题是,...
  • 3 votes
     answers
     views

    Scala - 抽象类型和隐式参数解析

    我正在使用Scala 2.10.4 . 请详细说明一下 - 实际的代码深深地嵌入了一个复杂的程序中,所以我不会解释这个问题,而是以时间的方式抽象出问题来讨论动物;-) 在scala我有两个特征 - 例如: Animal ,和 HouseBase . 我没有权利改变Animal,但我继承了Dog,Rabbit,Fish等类 . 令人讨厌的是我不能改变每个子类,因为我没有拥有我使用的所有子类 . 我...
  • 1 votes
     answers
     views

    使用Reflection的实例

    我有2个属性的课程 . 一个是 List<double> ,另一个是 Queue<double> . 我在运行时只有 Type 信息 . 我需要实例化并填充这两个属性 . 有没有通用的方法这样做?我创建了一个创建 IEnumerable 的方法,因为这是这两个方法的通用接口 . 但是,现在我被一个 IEnumerable 困住了,我不知道如何根据 Type 强制转换为 A...
  • 0 votes
     answers
     views

    钻石组件与MEF的依赖关系

    我有四个装配,相互引用,如上图所示: TpProjectModel共享接口,DILib和FileProject实现它们,并且TpPtojektCLI根据配置文件中的设置使用其中一个实现 当我想在TpProjectCLI中组合它们时,我有以下异常: 组成保持不变 . 由于以下错误,更改被拒绝:组合产生单个组合错误 . 根本原因如下 . 查看CompositionException.Errors属性...
  • 1 votes
     answers
     views

    通过反射调用变量参数方法

    public String testa(Object... args){ for (Object arg : args) { System.out.println(arg); } return "a"; } @Test public void test28() throws InvocationTargetException, Ill...
  • 0 votes
     answers
     views

    用反射连续迭代场的场

    请避免仅在Kotlin中提供答案且高于Android 21 . 我正在尝试构建一个API解析器,它使用类层次结构逻辑来表示API层次结构本身 . 有了这个结构,我能够以简单的方式解析API,我已经能够实现这一点,但我想进一步改进它 . 我将开始解释我已经实施的内容 . 这是我的应用程序将通过 GET ,内部解析和分派接收的示例网址: http://www.example.com/news/arti...
  • 890 votes
     answers
     views

    如何使用反射来调用泛型方法?

    当在编译时不知道type参数时,调用泛型方法的最佳方法是什么,而是在运行时动态获取? 考虑以下示例代码 - 在 Example() 方法中,使用 myType 变量中存储的 Type 调用 GenericMethod<T>() 的最简洁方法是什么? public class Sample { public void Example(string typeName) { ...
  • 551 votes
     answers
     views

    检查是否定义了变量?

    如何检查Ruby中是否定义了变量?是否有 isset 类型的方法?
  • 156 votes
     answers
     views

    如何遍历类的所有属性?

    我上课了 . Public Class Foo Private _Name As String Public Property Name() As String Get Return _Name End Get Set(ByVal value As String) _Name = val...
  • 492 votes
     answers
     views
  • 0 votes
     answers
     views

    使用java注释和反射获取java.lang.NullPointerException

    我写了3个类“PrintDevice,Printer,Test”如下 首先,PrintDevice.java public @interface PrintDevice{ String defaultPrint(); int defaultNumber(); } 第二,Printer.java @PrintDevice(defaultPrint="print"...
  • 40 votes
     answers
     views

    Rust如何实现反射?

    Rust具有 Any 特性,但它也有"do not pay for what you do not use"策略 . Rust如何实现反射? 我的猜测是Rust使用了懒惰标记 . 每个类型最初都是未分配的,但是稍后如果将类型的实例传递给期望 Any 特征的函数,则会为该类型分配 TypeId . 或者Rust可能会在其实例可能传递给该函数的每种类型上放置 TypeId ?我...
  • 13 votes
     answers
     views

    kotlin反射得到字段列表

    在Kotlin有一个等效的java反射 foo.getClass().getFields() 吗?当我知道它的名字时,我只能发现我可以访问一个字段,但我想以通用的方式处理字段 .
  • 13 votes
     answers
     views

    是否有适用于Scala的良好反射库?

    我正在开发一个需要反射的库,并且需要特定于Scala的信息,而不是通过标准Java反射API提供的信息 . 现在我正在使用scalap中的未记录代码(Scala等同于javap)并尝试将它提供的数据与Java反射对象相关联,以便我可以调用方法等(scalap只是解析类文件) . 我找到了这个,但那里什么都没有...... https://github.com/dubochet/scala-refl...
  • 0 votes
     answers
     views

    KVO在运行之前具有未知的观察对象

    我有一个“Compass”类,它是另一个类“SensorA”,“SensorB”或“SensorC”的观察者 . 问题是我在运行时之前不知道观察到的类 . 我使用反射来在运行时创建实例 . 我不知道在这样做的时候我是否正确地练习KVO . ---Another Extern Class--- Compass *aCompass= [[AnalogCompass alloc] initWithCom...
  • 0 votes
     answers
     views

    角度中的元数据

    我正试图将我的头脑包裹在打字稿中的装饰器和元数据中,并且思考角度是一个很好的项目,可以寻找某种最佳实践 . 在旧版本(例如2.1)中,他们使用的是DecoratorFactories,在内部他们将metadta应用于 reflect-metadata API提案(https://github.com/angular/angular/blob/2.1.x/modules/%40angular/co...
  • 2 votes
     answers
     views

    Jersey如何从Collections中提取泛型类型以调用javax.ws.rs.ext.MessageBodyWriter#writeTo()?

    在使用JAX-RS规范的Rest服务中,我可以定义一个通用服务 @GET @Path("something") @Produces( { MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public List<MyPojo> getMyPojoList() { ... } 在 Jersey ...
  • 3 votes
     answers
     views

    我如何使用F#Reflection库?

    我试图按照这个例子(来自Rob Pickering的"Foundations of F#"书的p137)但我无法使用最新的F#CTP . 我似乎错过了第3行的“ Value ”定义 Value.GetInfo(x) 这会产生: 错误FS0039:未定义名称空间或模块“值” . 任何人都可以告诉我这是来自哪里或新的语法是什么,如果现在这样做不同? (要温柔 - 这是我第一次...
  • 405 votes
     answers
     views

    在运行时获取泛型类

    我怎样才能做到这一点? public class GenericClass<T> { public Type getMyType() { //How do I return the type of T? } } 到目前为止我尝试的所有东西总是返回 Object 类型而不是使用的特定类型 .
  • 1 votes
     answers
     views

    实例化存储在元类型字典中的类

    我按照Make a Swift dictionary where the key is "Type"?的解决方案创建了可以使用类类型作为键的字典 . 我想要做的是:我有一个字典应该存储类类型(类型为metatype)作为键的类型: class MyScenario { static var metatype:Metatype<MyScenario> { ...
  • 415 votes
     answers
     views

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

    以下哪项更好? a instanceof B 要么 B.class.isAssignableFrom(a.getClass()) 我所知道的唯一区别是,当'a'为null时,第一个返回false,而第二个抛出异常 . 除此之外,他们总是给出相同的结果吗?
  • 4 votes
     answers
     views

    实体框架DbSet反射

    我试图遍历我的DbContext中包含具有特定基类型的实体的所有DbSet . 我的目标是在我在DbContext上调用SaveChanges并设置一些默认参数之前使用此循环 . 在C#中,我的基类看起来像这样: public abstract class TrackedEntity { public string ModifiedBy { get; set; } public ...
  • 727 votes
     answers
     views

    使用C#中的反射从字符串中获取属性值

    我正在尝试在我的代码中实现Data transformation using Reflection 1示例 . GetSourceValue 函数有一个比较各种类型的开关,但我想删除这些类型和属性,并且 GetSourceValue 只使用一个字符串作为参数获取属性的值 . 我想在字符串中传递一个类和属性并解析属性的值 . 这可能吗? 1原始博客文章的Web Archive版本
  • 91 votes
     answers
     views

    避免模糊的匹配异常

    我通过反射调用一个静态方法Parse,因为我不知道编译时对象的类型(我知道,它有一个Parse方法,带一个字符串) . 但是,我得到了一个模糊的匹配异常,大概是因为有很多重载的Parse方法,每个方法都占用一个对象(string,int,double等) . 如何在我的方法调用中更具体,以确保我到达正确的方法(Parse(string s))并且不抛出异常 . 我的代码如下所示: Type ret...
  • 1779 votes
     answers
     views

    什么是反思,为什么它有用?

    什么是反思,为什么它有用? 我对Java特别感兴趣,但我认为在任何语言中原则都是一样的 .
  • 598 votes
     answers
     views

    从Type中获取新的对象实例

    在编译时可能并不总是知道对象的类型,但可能需要创建Type的实例 . 如何从Type中获取新的对象实例?
  • 308 votes
     answers
     views

    为什么C没有反射?

    这是一个有点离奇的问题 . 我的目标是理解语言设计决策并确定C中反思的可能性 . 为什么C语言委员会没有采用语言实现反思?对于不在虚拟机上运行的语言(如java),反射是否太难? 如果要实施C的反思,那么挑战是什么? 我想反射的使用是众所周知的:编辑器可以更容易编写,程序代码更小,可以为单元测试生成模拟等等 . 但是,如果你也可以对反射的使用发表评论,那将会很棒 .
  • 405 votes
     answers
     views

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

    我在第三方 JAR 中设计的设计很差,我需要访问其中一个 private 字段 . 例如,为什么我需要选择私人领域是否有必要? class IWasDesignedPoorly { private Hashtable stuffIWant; } IWasDesignedPoorly obj = ...; 如何使用反射来获取 stuffIWant 的值?

热门问题