C# (急急急)执行一个方法的时候变量值为什么会改变呢?

namespace Test
{
public partial class Form2 : Form
{
M_Model TModel = new M_Model();
public Form2()
{
InitializeComponent();
}

    private void button1_Click(object sender, EventArgs e)
    {
        TModel.Num = 5;
        DoWork DW = new DoWork();
        DW.Dos(TModel);
    }
}
public class DoWork
{
    public void Dos(M_Model models)
    {
        models.Num = 8;
    }
}
public class M_Model
{
    private int _Num;

    public int Num
    {
        get { return _Num; }
        set { _Num = value; }
    }
}

}
当我执行点击事件的时候,执行了 DW.Dos();这个方法,为什么TModel的Num会改变呢?