Если я передаю объект методу, почему я должен использовать ключевое слово ref? Разве это не поведение по умолчанию?
Например:
class Program
{
static void Main(string[] args)
{
TestRef t = new TestRef();
t.Something = "Foo";
DoSomething(t);
Console.WriteLine(t.Something);
}
static public void DoSomething(TestRef t)
{
t.Something = "Bar";
}
}
public class TestRef
{
public string Something { get; set; }
}
Выводится "Bar", что означает, что объект был передан как ссылка.