我正在通过以下代码检索IEnumerable属性列表:
BindingFlags bindingFlag = BindingFlags.Instance | BindingFlags.Public;
var dataProperties = typeof(myParentObject).GetProperties(bindingFlag);
然后我遍历列表并检索每个属性的值
我遇到了两种不同的方法,只是想知道它们之间有什么区别:
(一)
(二)
事实上,两者没有区别。您可以通过以下方式查看
我试图遍历一个对象数组,并递归地打印出每个对象的属性。
这是我的对象模型:
type firmIdentifier = {
firmId: int ;
firmName: string ;
}
type authorIdentifier = {
authorId: int ;
authorName: string ;
firm: firmIdentifier ;
}
type denormalizedSuggestedTradeRecommendatio
我想简化以下代码片段:
switch (typeString)
{
case "boolean":
CreateSimpleRows<bool>(ref group, value);
break;
case "datetime":
CreateSimpleRows<DateTime>(ref gro
当您分别了解类及其泛型时,有人知道从IOC容器中解析对象的方法吗,特别是Unity 2.0
简单例子
public class DoSomeWork {bla}
public class Execute1<DoSomeWork> : IExecute {bla}
public class Execute2<DoSomeWork> : IExecute {bla}
公共类DoSomeWork{bla}
公共类Execute1:IExecute{bla}
公共类Execut
我希望我能用RPGLe做一些反思。
我所说的反思是指:
'在运行时确定对象功能的过程或机制。'
假设您拥有以下数据结构:
D DS_Format DS Qualified Based(pDS_Format)
D Type 20I 0 Inz(1)
D Label 50A Inz('myLabel')
D Description
我在考虑允许模块在属性文件中处理类的想法;差不多
availableModules.properties
Contact=org.addressbook.ContactMain
Business=org.addressbook.BusinessMain
Notes=org.addressbook.Notes
我的框架将使用反射来实例化相关模块,然后调用相关基类上的方法,或者根据需要将对象作为参数传递
上面是使用反射的好地方吗
关于在哪里使用已经发布的反射,是否有任何最佳实践(我找不到)?我
每当我在.NET4中读到关于新DLR的文章时,他们都说反射是它的一个很好的用途,而经常显示的代码片段是这样的
dynamic d = GetSomeObject();
d.DoSomething();
d.SomeMember = 1;
GetSomeObject()看起来像什么?我找不到任何地方可以解释这一点
我知道它可以是任何东西,但在反思的背景下,它是什么?是大会吗?类型的实例?例如,GetSomeObject()可以返回类型为\u-ComObject的实例。我认为这是动态的主要原因之一
众所周知,结构类型是通过反射实现的。是否有可能使用反射的其他语言构造?如果你认为ISSITANS/ASSIFANS作为反射,那么模式匹配依赖于它们< P>它不是语言构造,而是SCASTATEST包含,它使用反射来查找和调用测试方法。
Scala是否在幕后使用任何反射?结构类型中的方法调用取决于反射:
type T = { def startsWith(x:String):Boolean }
def doSomethingWith(x:T) = x.startsWith("abc")
doSome
比如说,我有一个受歧视的联盟:
type card = Smithy | Cellar | Chapel
以及一个函数,该函数将判别并集映射到某个值:
let initialCardCount = function
Smithy -> 4
Cellar -> 6
Chapel -> 2
我想生成一张包含工会每个成员成本的地图,如:
[(Smithy, 4); (Cellar, 6); (Chapel, 2)]
这可能吗?我希望能够做到以下几点:
List.zi
请举例说明如何在运行时使用反射在F#中创建新类型(例如,两种类型的笛卡尔积)
更新
我正在寻找一种具有一流类型的语言。有人告诉我F#can这个。我什么也没试过,因为我还没学会F#。我只是想看看它是怎么做的 摘自我的(非免费)文章:
以下createType函数创建给定名称的新.NET程序集、新模块和新公共类类型:
> let createType typeName =
let name = System.Reflection.AssemblyName(Name="tmpAssemb
我在构建一个可以动态使用参数化结构的函数时遇到了一些困难。出于这个原因,我的代码有20多个类似的函数,除了基本上使用的一种类型。我的大部分经验都是使用Java的,我只会开发基本的泛型函数,或者使用普通对象作为函数的参数(以及从那时起的反射)。我需要类似的东西,用围棋
我有几种类型,如:
// The List structs are mostly needed for json marshalling
type OrangeList struct {
Oranges []Orange
}
我有测试申请:
导入“dart:mirrors”;
甲级{
void eventHandlerInt(列表x){}
void eventHandlerBool(列表x){}
}
void testMirrors(函数){
CLOSUREMIROR mir=反射(A功能);
var param=mir.function.parameters.first;
//如何获取第一个参数列表的类型T?
}
void main(){
var a=新的a();
测试镜像(a.eventHandlerInt);
我在OpenTK中渲染镜像反射时遇到一些问题。我只需要从镜子的一侧看到物体的反射,但我的程序也会从另一侧反射,它会隐藏第一个反射。你能帮我吗
private void glControl1_Load(object sender, EventArgs e)
{
loaded = true;
GL.ClearColor(Color.SkyBlue);
initRendering();
对于下面的代码段()
输出为main.(用户).DummyHandler fm
为什么函数名末尾有一个-fm?结果是u.DummyHandler是一个方法值,编译器通过创建函数闭包和修改函数名来实现方法。引用伊恩的话:
顺便说一句,这似乎已经变成了-fm的提示
您的代码正在获取方法值。p、 beHappy是beHappy方法
绑定到p的特定值。这是通过创建
函数闭包,该闭包的代码需要一个名称。这个
编译器恰好通过在末尾粘贴fm来命名,但是
可以是不会与任何其他函数名冲突的任何内容。
在Go中没有
如何测试一个KType变量是否持有一个可为null的kotlin类型的值(例如Int?)
我有
var type: KType
变量来自KProperty.returnType,我需要检测它是否等于某些kotlin类型(Int、Long等)。这适用于:
when (type) {
Int::class.defaultType -> ...
Long::class.defaultType -> ...
else -> ...
}
但这只适用于不可为n
我找不到在程序集对象上调用GetCustomAttributes的.net核心等价物。我看到有CustomAttributes属性,但它不返回自定义属性的实例,而是返回有关属性的元数据。如何检索实际的属性实例?有一个GetCustomAttributes扩展方法。只需使用System.Reflection添加即可。它引用类型,正如我在代码中看到的,GetTypeInfo对于程序集不存在?不知道为什么。。。我猜工具仍在预览中。。。但我无法让VisualStudio同意。既然你说这是事实,我决定再试
我有一个
当我得到下面的信息
我想获取sqlSession实例。所以我尝试使用反射方式来获取sqlSession
Field hField = fooMapper.getClass().getDeclaredField("h");
MapperProxy mapperProxy = (MapperProxy) hField.get(fooMapper);
Field sqlSessionField = mapperProxy.getClass().getDeclar
给定
如何创建具有此签名的函数
type Unit = {
Name : string
Abbreviation : string
Value : float
}
module Lets =
let meter = { Name = "meter"; Abbreviation = "m"; Value = 1.0 }
let millimeter = { Name = "millimeter
一个简单的反射警告示例:
lein repl
user=> (set! *warn-on-reflection* true)
true
user=> (eval '(fn [x] (.length x)))
Reflection warning, NO_SOURCE_PATH:1:16 - reference to field length can't be resolved.
#object[user$eval2009$fn__2010 0x487ba4b8 "user$eval2
在我的项目文件中,我正在使用F#4.7和preview
我有这样一种类型:
类型记录={
名称:string
描述:字符串
字段不感兴趣:int
}
我希望以类型安全的方式获取某些字段的名称,但不是所有字段的名称。我知道我可以使用反射获取所有字段名
下面是我想到的最简洁的代码。能不能再简洁一点
让CertainFieldName=
设r=Unchecked.defaultof
[
姓名
r.描述的名称
]
特殊函数nameof是编译时功能,返回标识符的静态名称。因此,它不能在运行时使用,运行时
我正在编写一个启动GUI应用程序的测试框架。为了能够在SWT应用程序中测试这个GUI,我需要知道它的显示。通常,这个显示是由另一个类加载器加载的,因此我使用swt显示类的findDisplay(线程t)方法通过反射来完成这个任务。我的代码如下所示:
Thread[] threads = new Thread[10];
Thread.enumerate(threads);
Object foundObject = null;
for (Thread t : Arrays.asList(thread
我有一个朋友对编程很感兴趣,他询问了很多不同的概念。类、接口和诸如多态性/继承性之类的东西都很容易解释,但我正努力用类比来进行反思
你将如何解释它是什么以及它在实践中是如何工作的?反射只是一个对象告诉你它自己、它的方法、实例变量、类型等的能力。使用它命名的隐喻就像在镜子里看自己一样。这样你就可以向别人描述你自己了。同样,反射是对象(甚至程序)描述自身的能力。在大多数编程中,数据和操作是两个独立的东西(操作对数据起作用)。通过反射,操作变成数据,允许程序了解甚至修改自身
虽然这可能太简单了
编辑:
JScript允许像.apply()这样的时髦特性,您可以通过名称调用方法,传递一个参数数组来调用方法。然而,这适用于JScript(javascript)对象,显然在COM组件上不起作用——但这是我正在寻找的特性
有没有办法通过名称和JScript中的动态参数调用COM对象方法?我什么也找不到
谢谢 动态构建要作为字符串调用的脚本,然后使用eval()调用它。例如eval(“someObj.method()”)或eval(objName+“+methodName+”(“+args.join(“
我想在plsql中获取参数的名称
比如说,
procedure sp_example(myParam in varchar2) is
paramName varchar2(30);
begin
paramName = 'myParam';
end
end procedure sp_example;
有没有办法使用反射而不是硬编码来获取myParam的名称?试试:
select argument_name from all_arguments where object_name = '
是“在执行过程中更改自己的指令”的代码。这通常不是在汇编语言或病毒之外完成的
只是程序动态访问自己的名称空间的能力,以便动态引用函数、类和变量。根据这一点,反射不仅是内省(程序检查自身的能力),而且是调解(程序修改自身的能力)
那么,反射指的是一种温和形式的自修改代码,其中只有变量/类/函数名在指令中得到“修改”,这有什么区别吗?也就是说,与在自修改代码中修改整个指令本身的能力相比,反射是一种更温和、更少“戏剧性”的修改形式
我有这个区别吗?没有,一个是关于在执行过程中更改代码。另一个是关于在执
我需要获取一个简单端口的值,而我仅有的信息是端口的名称(作为字符串)。
大概是这样的:
my_meth(port_type : string) is { //e.g.: port_type = "signal_map.some_port$"
var rf_port_val : rf_value_holder = rf_manager..??? //How to get port's value by its name using port_type?
// do somethi
(免责声明:关于SO的第一篇文章。我已经在SO和其他地方搜索了这个问题的答案,但尽管镜子和反射确实出现了,但我没有找到任何与我的特定问题相关的东西。)
这是我在ThreeJS中的第一个场景,大部分场景都基于官方示例(非常有用!)。正如您所见,无论出于何种原因,镜子反射在大多数角度上都是黑色/碎片状的,因此它只能在非常窄的范围内显示适当的反射。(探索其他角度,看看我在说什么。)
相关代码:
// MIRROR
verticalMirror = new THREE.Mirror( rende
目标:
以三种方式模拟反射地板()
想法:
通过将“不透明度”设置为0.5,使地板半透明
在其下方放置一面镜子以反射其上方的网格
预期产出:
.......
.......
function getReflectiveFloorMesh(floorMesh) {
var WIDTH = window.innerWidth;
var HEIGHT = window.innerHeight;
floorMirror = new THREE.
鉴于这种模式:
public class RSS2Feed {
public var channel: RSS2FeedChannel?
public init() {}
}
public class RSS2FeedChannel {
public var title: String?
public var description: String?
public init() {}
}
要获取RSS2FeedChannel实例的属性名
范例
我得到的方法名是字符串。如何使用字符串名调用路由器对象方法前两个错误无效,因此我不确定您希望从中得到什么。最后一个带有reflect的示例没有任何需要2的函数参数,这将导致死机。添加两个参数可以很好地工作:
大多数情况下,Go无效,并且您没有向reflect示例提供任何参数。@JimB我有两个参数1.string值2。处理函数。我在Call method中传递了两个不同的参数,你应该先问问自己为什么要这样做,因为自从我开始使用Go以来,我从来没有这样使用过反射。在大多数情况下,您甚至不需
如何获取Kotlin中的当前类。例如,如果有抽象类动物和子类狗巫婆是动物的孩子,我如何才能得到动物中的狗类。我现在不知道女巫班会用动物
我已经尝试使用:
this::class
Java中可能包含的内容:
this.getClass()
但是这种方法是根据我的IDE不可用的
致意
Jonas Franz使用javaClass获取该对象的类实例。如果您想获取特定类文本的类对象,请使用Dog::Class.java。使用javaClass获取该对象的类实例。如果要为特定的类文本获取类对象,请使用
在.NET Core中,Type.GetCustomAttributesData()的新等价物是什么
从.Net Framework移植项目时,我无法访问此方法。任何反射NUGET都无法使用它。这将变成Type.GetTypeInfo().Assembly.CustomAttributes。人们会看到这一点,并认为它是一个属性,类似于GetCustomAttributes()返回IEnumerable,但它返回IEnumerable,根据APIsOf.Net,该方法将在.Net Core 2.0
D是否有反射或任何接近它的东西,以便能够在运行时访问对象
如果没有:
在运行时如何访问或编辑对象
例如:
bool myFunc(string status){
switch(status){
case "create":
Object my_obj = new createObject();
write("Object has been created or whatever");
break;
假设某个内核(一个名为foo的\uuuu全局函数)正在CUDA设备上运行。假设内核调用一个\uu设备函数bar,该函数有时从其他内核调用,即bar的代码在编译时不知道内核是foo还是其他什么
运行foo的线程能否在bar中获得名称“foo”、签名或内核的其他标识符(最好是人类可读的标识符)
如有必要,假设代码已使用--debug、--device debug和/或--lineinfo中的任何一种编译,内核可以读取特殊寄存器gridid在每次启动时都是唯一的。如果要提高性能,那么一个简单的内核pr
我想使用反射来获取和设置属性等。我知道如何使用Activator.CreateInstance()为我自己实例化的对象执行此操作,但如何连接到内存中已经运行的进程并执行相同的操作?我怀疑这是否可能
但是,如果您有要控制的进程的源,则可以使用远程处理或wcf
我在c#中将com对象定义为动态类型,我能够非常轻松地调用方法。
但是,当我尝试访问同一对象上的属性时,我得到一个无效的强制转换异常
所讨论的对象是一个数组,从JavaScript传递到托管代码,我希望以int形式获取它的length属性
我知道我遗漏了一些奇怪的东西,因为我没有得到“不包含定义”异常,并且我可以使用reflection/InvokeMember轻松访问属性
为什么我不能将动态类型的length属性转换为int
比如说
此操作失败
dynamic com = comObje
我是围棋新手。我想知道如何使用Go中的反射从中获得映射的价值
type url_mappings struct{
mappings map[string]string
}
func init() {
var url url_mappings
url.mappings = map[string]string{
"url": "/",
"controller": "hello"}
谢谢
映射的类型是接口{},因此不能将其用作映射。
要使真
我在OSGI方面遇到了问题,Apache的commons-beanutils-1.8.3缺少约束异常。我搞不清楚,我想知道是否还有另一个Bean反射jar,这样我就可以通过反射调用set并获取Bean的属性。也许有,但为什么这么容易放弃呢?如果您发布错误消息,那么可能有人会提供帮助。您正在谈论的这个bean反射是什么?我很好奇,我想知道为什么要用这种东西。
我做了很长一段时间的C#程序员,在Rust周围玩得很开心,但我有一个关于反思的问题。也许在这种情况下我不需要反射,但考虑到锈迹是强类型的,我怀疑我需要反射(我肯定需要它在好的ol'C#中,保佑它的棉袜)
我有这样的情况:
use std::collections::HashMap;
fn invoke_an_unknown_function(
hashmap: HashMap<String, String>,
// Something to denote a fun
我正在使用3ds Max进行建模,然后将其导出到VRML。目前,我正在获得着色器、纹理和材质。
有什么方法可以在VRML中获得反射和阴影
谢谢
ArunVRML不支持阴影或反射(其后续版本X3D也不支持阴影或反射,尽管有专有的扩展支持
我正在尝试使用reflect调用结构上的方法。但是,我得到了一个panic:runtime错误:无效内存地址或零指针解引用,即使attachMethodValue和args都不是零。有什么想法吗
前往游乐场:
因为UserModel指针为nil,所以会出现恐慌。我想你想要:
c := &UserController{UserModel: &UserModel{}}
由于UserModel指针为nil,它会陷入恐慌。我想你想要:
c := &UserController{
我正在尝试使用提供的示例编写csv解析器。它适用于所有本机类型,但对于任何包含time.time类型时间戳的结构,我都会遇到麻烦。它退出时出现错误“无法转换此类型”
这是代码
//对于给定结构中的每个字段。。。
//找一块地
val:=sv.字段(i)
//这是必要的,因为善良无法分辨
//区分基本类型
//以及由此派生的类型。我们在找
//对于在上定义的值接口
//指向此值的指针
_,确定:=val.Addr().Interface()。(值)
如果可以的话{
val=val.Addr()
种
我试图使用Kotlin反射调用函数,但出现错误:
java.lang.IllegalArgumentException:Callable需要4个参数,但是
提供了3个
这是执行反射调用的代码:
annotation.listeners.forEach { listener: KClass<*> ->
listener.functions.forEach { function: KFunction<*> ->
if
我们可以在不使用powermockito的情况下模拟私有方法吗。我知道这是可能的,虽然powermockito,但我只是想与大家核实一下,是否有可能通过其他方式实现。
谢谢
-Sam根据设计,如果没有PowerMockito或类似的工具,这是不可能的
查看他们给出以下原因的地方:
它需要对从来都不是防弹的类装入器进行黑客攻击
更改API(必须使用自定义测试运行程序、注释类、,
等等)
这很容易解决-只需更改
方法从私有到包保护(或受保护)
它需要
团队需要花时间实施和维护它。但事实并非如此
在给
正如标题所提到的,我正在使用PowerMockito测试一个包含内部私有类的类。内部类有一个具有“int[]”参数的构造函数。下面是代码
final Class clazz = Whitebox.getInnerClassType(SomeClass.class, "InnerClass");
final Constructor constructor = Whitebox.getConstructor(clazz, int[].class);
final Object innerClass =
我想写一个复制任何类型列表的通用方法。
我的代码:
方法的调用:
var list_a : list of uint;
gen list_a;
var list_b : list of uint;
list_b = copy_list(list_a);
错误:
ERR_GEN_NO_GEN_TYPE: Type 'list of rf_type' is not generateable
(it is not a subtype of any_struct) at line ...
标签: Reflection
classloaderjavacdynamic-class-loaders
我有一些分析数据的代码,我意识到我希望有一些代码是针对特定的数据源定制的,而不是一般的处理。任何单独的来源可能随时间而变化,并且已经有几个不同的来源要考虑。为了解决这个问题,我从Java启动了完整的独立程序,这很好,但是这也有一些问题,我决定用动态类加载来代替。我从v1.1开始就在使用Java,并且对大多数Java问题都很熟悉,但是这个特定的任务让我想知道我是否使用了错误的Java版本或者类似的版本,因为我得到的错误看起来像我的版本不知道我正在尝试的方法调用。我在想,也许我遗漏了一个重要的重要声
我已经看到了一些关于这个话题的反思例子,但是我找不到任何解决这个问题的方法。这感觉有点复杂,但另一种选择是大量的重复,所以我想我应该试试
我有一个返回函数(处理程序)的函数。包装函数传入结构的实例。我需要内部函数来创建指向该结构类型的指针片段:
func createCollectionHandler(app *appSession, record interface{}, name string) func(res http.ResponseWriter, req *http.Request)
我正在我的库中搜索所有带全局注释的函数:
@MyAnnotation()
字符串func(arg1,arg2)=>“测试”;
main(){
var routines=m.currentMirrorSystem().findLibrary(#my.lib).declarations.values
.其中((m.DeclarationMirror dm)=>
dm是m.MethodMirror&&dm.metadata.map((m.InstanceMirror im)=>im.reflectee
我正在尝试使用实体框架编写一些动态代码。我有一个模型(Model1)和一个表(Test1),它很简单。我试图做的是使用表名以编程方式访问模型Test1,以便在不同的任务中使用它。我在谷歌上寻找,我已经找到了,但它不起作用,或者我没有任何想法
当我运行这段代码时,试图设置entityProperty会中断
Model1Container m = new Model1Container();
PropertyInfo entityProperty = m.GetType().
1 2 3 4 5 6 ...
下一页 最后一页 共 17 页