相关疑难解决方法(0)

使用反射设置对象属性

在C#3.5中是否有一种方法可以使用反射来设置对象属性?

例如:

MyObject obj = new MyObject();
obj.Name = "Value";
Run Code Online (Sandbox Code Playgroud)

我想obj.Name用反思来设定.就像是:

Reflection.SetProperty(obj, "Name") = "Value";
Run Code Online (Sandbox Code Playgroud)

有办法做到这一点吗?

.net c# reflection properties

308
推荐指数
8
解决办法
24万
查看次数

目标C反思/反思

是否有内置的方法,函数,API,普遍接受的方式等来转储Objective C中实例化对象的内容,特别是在Apple的Cocoa/Cocoa-Touch环境中?

我希望能够做类似的事情

MyType *the_thing = [[MyType alloc] init];
NSString *the_dump = [the_thing dump]; //pseudo code
NSLog("Dumped Contents: %@", the_dump);
Run Code Online (Sandbox Code Playgroud)

并显示对象的实例变量名称和值,以及可在运行时调用的任何方法.理想情况下,易于阅读的格式.

对于熟悉PHP的开发人员,我基本上寻找等效的反射函数(var_dump(),get_class_methods())和OO Reflection API.

reflection xcode cocoa introspection objective-c

78
推荐指数
3
解决办法
4万
查看次数

Objective-C有反射吗?

我正在研究Objective-C,我想知道它是否具有反射的概念.到目前为止,我发现的文件都没有描述反思.

reflection objective-c

21
推荐指数
2
解决办法
2万
查看次数

反映时:应设置属性还是直接设置值?(目标C)

我正在为objective-c编写一个xml序列化类.
关键是给类一个类类型和一个xml文件.它应该返回一个包含数据的实例.

我已经有了它的工作,它确实有很多 - 处理原语(+ nsstring),用户定义的类和nsarrays.不处理指针或C数组.
显然,这很大程度上依赖于反思.

问题:当我设置某个类的实例的值时,我应该检查是否存在具有正确名称的属性,还是可以使用简单的反射设置变量?

这是我到目前为止使用的那种代码:

id newClass = class_createInstance(NSClassFromString(elementName), sizeof(unsigned));
Ivar nameVar = class_getInstanceVariable([newClass class], "name");
if (nameVar != nil)
    object_setIvar(newClass, nameVar, [NSString stringWithString:@"George"]);
Run Code Online (Sandbox Code Playgroud)

此外,在这种任务之后,我应该发布什么吗?

reflection properties objective-c xml-serialization

4
推荐指数
1
解决办法
4341
查看次数