我的扩展方法非常奇怪,这是我的示例代码:
"create_source_map": '%outname%.map'
在扩展方法之后,我发现使用myObject更改了anObject的属性。我不太明白为什么。扩展方法不应仅适用于myobject吗?
谢谢。
以下是我如何做我的extionsion方法
AType anObject = new AType();
AType myObject = new AType();
myObject=anObject;
myObject.ExtensionMethods();
谢谢。
答案 0 :(得分:2)
这与扩展方法无关,而且与您在此处所做的事情有关:
myObject=anObject;
在该行之后,两个变量都指向内存中的相同的对象实例。因此,对一个变量所做的任何更改都将反映在另一个变量中,因为只有一个对象。 (曾经有过第二个对象,但是一旦你不再引用它,垃圾收集器就会很快从内存中清除它。即使它没有,你仍然没有参考无论如何它都能使用它。)