我正在尝试返回对象的引用,而不是按值传递它.这是由于无法通过引用传递属性.
我怎样才能得到下面的代码来写'新号牌'而不是'旧号牌'.看了一下后,好像我不能.只是想先确定一下.看起来很奇怪你不能.
干杯
史蒂夫
http://hardcode.ro/archive/2008/03/18/c-return-reference-types.aspx
http://geekswithblogs.net/akraus1/archive/2006/02/10/69047.aspx
public partial class Test2 : DefaultPage
{
protected void Page_Load(object sender, EventArgs e)
{
var car = new Car();
var numberPlate = car.GetNumberPlate();
numberPlate = "new number plate";
Response.Write(car.GetNumberPlate());
}
}
}
public class Car
{
private string _numberPlate;
public Car()
{
_numberPlate="old number plate";
}
public string NumberPlate
{
get { return _numberPlate; }
set { _numberPlate = value;}
}
public string GetNumberPlate()
{
return _numberPlate;
}
}
Run Code Online (Sandbox Code Playgroud)
你这样做有点倒退.如果要更改其值,则需要实际更改对象的属性.
car.NumberPlate = "old number plate";
Response.Write(car.GetNumberPlate());
Run Code Online (Sandbox Code Playgroud)
如果您想使用引用,可以使用ref关键字.这可能不是你想要的.