我将引用类型(生成的 Proto3)传递给更新某些属性的方法。当方法返回时,属性已经恢复回来,就好像它不是通过引用传递或者是不可变的一样。
MyData dest = new MyData();
dest.Num = 1;
MyData src = new MyData();
src.Num = 2;
Console.WriteLine(dest.Num); // num = 1
Test(src, dest);
Console.WriteLine(dest.Num); // num still equals 1
public static void Test(MyData src, MyData dest)
{
// dest.Num = 1 here
dest = src;
// dest.Num = 2 now
}