Возможный дубликат:
Как назначить по ссылке на поле класса в С#?
Привет всем - расскажите, как это сделать? В принципе, мне нужен целочисленный ссылочный тип (int * будет работать на С++)
class Bar
{
private ref int m_ref; // This doesn't exist
public A(ref int val)
{
m_ref = val;
}
public void AddOne()
{
m_ref++;
}
}
class Program
{
static void main()
{
int foo = 7;
Bar b = new Bar(ref foo);
b.AddOne();
Console.WriteLine(foo); // This should print '8'
}
}
Нужно ли использовать бокс?
Edit: Возможно, я должен был быть более конкретным. Я пишу класс BitAccessor, который просто позволяет получить доступ к отдельным битам. Здесь мое желаемое использование:
class MyGlorifiedInt
{
private int m_val;
...
public BitAccessor Bits {
return new BitAccessor(m_val);
}
}
Использование:
MyGlorifiedInt val = new MyGlorifiedInt(7);
val.Bits[0] = false; // Bits gets a new BitAccessor
Console.WriteLine(val); // outputs 6
Чтобы BitAccessor мог изменять m_val, ему нужна ссылка на него. Но я хочу использовать это BitAccessor во многих местах, только с ссылкой на желаемое целое число.