我正在 windows phone 8 中编写一段代码(c#)(与 windows 8 有同样的问题)。
我想知道,如何传递一个对象的值而不是他的引用。
让我用一个例子来解释:
public MyClass
{
    private Foo foo //my object.
    public void Init()
    {
        foo = new Foo();
        foo.age = 5; 
        ChangeFooValue(foo);
    }
    private void ChangeFooValue(Foo temp)
    {
        temp.age = 10; 
        //I want to change temp and NOT foo.
        //But at the end of this 
        //foo.age = 10;
        //and
        //temp.age = 10;
    }
}
已解决: 我在课堂上有这个来创建深层副本:
public Foo DeepCopy()
        {
            Foo other = (Foo) this.MemberwiseClone();
            return other;
        }
ps:这可能是一个愚蠢的问题(如果是,请提供一些教程以便我自己解决它)。