Tag: reflection

C#获取自己的类名

如果我有一个名为MyProgram的类,有没有一种方法检索“ MyProgram ”作为一个string?

如何确定一个types是否实现了一个使用C#reflection的接口

在C# reflection提供了一种方法来确定是否某些给定的System.Typetypes模型的某些接口? public interface IMyInterface {} public class MyType : IMyInterface {} // should yield 'true' typeof(MyType)./* ????? */MODELS_INTERFACE(IMyInterface);

检查variables是否被定义?

我如何检查一个variables是否在Ruby中定义? 是否有isset type方法?

从string中获取名称variables

示例代码: int width = 5; int area = 8; int potato = 2; int stackOverflow = -4; 现在,说我想让用户input一个string: String input = new Scanner(System.in).nextLine(); 然后,说用户inputpotato 。 我将如何检索名为potato的variables,并用它做东西? 像这样的东西: System.getVariable(input); //which will be 2 System.getVariable("stackOverflow"); //should be -4 我抬头看了一些东西,没有多less东西; 我确实find了一个名为“Reflection API”的参考,但是对于这个简单的任务来说这似乎太复杂了。 有没有办法做到这一点,如果是的话,这是什么? 如果“反思”确实有效,如果是唯一的方法,那么我将如何使用它来做到这一点? 它的教程页面有各种内部的东西,我不能有任何意义。 编辑:我需要保持在我正在做的variables的String 。 (我不能使用Map )

我可以使用Javareflection获取有关本地variables的信息吗?

我需要知道局部variables的types。 我正在使用Javareflection,使用我无法得到它。 你可以让我知道如何知道本地variables的types/名称。 我可以使用Javareflection获取有关本地variables的信息吗?

如何获得实现给定接口的所有加载types的所有实例?

我们需要获得实现给定接口的所有对象的实例 – 我们可以这样做吗?如果是这样的话?

在Scala 2.10中通过reflection查找types参数?

使用types标签,我可以看到某些types的参数: scala> import scala.reflect.runtime.universe._ import scala.reflect.runtime.universe._ scala> typeOf[List[Int]] res0: reflect.runtime.universe.Type = List[Int] 但我不能完全弄清楚如何以一般的方式通过编程的方式获得那个“Int”。 (我一直在REPL里徘徊了一个小时,试着在Type上进行排列,看看我能从中得到什么……我得到了很多东西,表明这是一个“列表”,但是find了好运那“Int”!我真的不想诉诸parsingtoString()输出…) 丹尼尔·索布拉尔(Daniel Sobral) 在这里有一个很好的(像往常一样的)快速概览,他在这里非常接近我正在寻找的东西,但是(显然)只有当你碰巧知道,对于那个特定的类,一些特定的方法,询问: scala> res0.member(newTermName("head")) res1: reflect.runtime.universe.Symbol = method head scala> res1.typeSignatureIn(res0) res2: reflect.runtime.universe.Type = => Int 但是我希望有一些更一般的东西,它不涉及在已声明的方法列表中生根,并希望其中一个将捕获标签的当前types信息(并因此泄露)。 如果Scala可以轻松地打印 “List [Int]”,那么为什么要发现这个“Int”部分是如此的困难 – 而不是采用string模式匹配呢? 还是我错过了一些真的,真的很明显? scala> res0.typeSymbol.asInstanceOf[ClassSymbol].typeParams res12: List[reflect.runtime.universe.Symbol] = List(type A) scala> res12.head.typeSignatureIn(res0) res13: reflect.runtime.universe.Type = 格儿…

如何通过reflection访问私有方法和私有数据成员?

我知道我们可以通过reflection访问私人构造函数@Sanjay T. Sharma在他的回答中提到我的问题: “instanceof Void”是否总是返回false? 不过, @duffymo 说 : 你可以用reflection访问私有的东西 – 方法,构造函数,数据成员,一切。 我如何访问私有方法和私有数据成员? 是否有可能通过reflection访问本地variables? 有没有办法阻止任何人访问私人构造函数,方法和数据成员?

使用objc_msgSend通过命名参数调用Objective C函数

我想使用objc运行时为Objective-C项目添加脚本支持。 现在我面对这个问题,我没有线索,我应该如何调用一个带有几个命名参数的Objective-C方法。 所以例如下面的objective-c调用 [object foo:bar]; 可以从C中调用: objc_msgSend(object, sel_getUid("foo:"), bar); 但是,我将如何为方法调用做类似的事情: [object foo:var bar:var2 err:errVar]; ?? 最好的马库斯

使用新的ScalareflectionAPI获取伴随对象实例

使用Scala的新reflectionAPI,是否可以获得对类的伴随对象的引用? 我正在这样思考: trait Base { def companion: MetaBase = someReflectionMagic(this).asInstanceOf[MetaBase] } trait MetaBase { // stuff } // — class Foo extends Base object Foo extends MetaBase assert(new Foo.companion == Foo)