C# 中可以通过对象的属性(引用类型)尝试获取这个对象吗?
现有:
①对象A
②A的属性a(引用类型)
某个方法中,参数列表是a,现在需要在该方法体内调用A的其他属性,而又不能直接传A过来,有什么办法吗?
原则上是不行的,CLR 会检查边界(面向对象的思想);我想只能通过 hack 方式实现你的想法。
你能上点代码说的明白点吗?为什么不能直接传A?
不是不能传A,只是单纯不想改变原来的方法的参数列表,想在这个方法体内,拿到A对象
说白了就是想通过对象的属性来确定这个对象,可不可以利用反射或其他机制实现?
@Finder~: 这个,我没听说过,不过如果这个属性有个指向包含自身对象的属性就可以
Attribute是对class的描述(你可以认为是Type的描述补充),而不是实例的描述。后面的话就不多说了。