var a = new obj();
var property = a.GetType().GetProperty("DB").GetValue(a,null) as testObject;
Run Code Online (Sandbox Code Playgroud)
这是否意味着该变量property持有对我在对象a中获得的同一对象的引用,或者制作了一个持有相同值的新testObject?
如果这意味着创建一个新对象,那么如何使用反射获取对该属性/支持字段的引用?
property现在持有对的财产中的任何内容的引用。aDB
我不确定当您调用GetValue()具有值类型的属性时会发生什么,我想您会获得对原始值的装箱副本的引用,如装箱和拆箱(C# 编程指南)中所述:
将值类型装箱[在's case
object中GetValue()]会在堆上分配一个对象实例并将该值复制到新对象中。