Назначить ссылку на целое число в классе - PullRequest
0 голосов
/ 05 июля 2010

Можно ли передать целое число как ссылку при инициализации класса и сохранить ссылку?

class Foo {
    private int _refVal;
    public Foo(ref int val) {
        _refval = val; // saves the value, not the reference
    }
}

Я мог бы использовать указатели, но тогда мне нужен небезопасный контекст.

Ответы [ 3 ]

3 голосов
/ 05 июля 2010

Из интереса, зачем тебе это делать? Одно целое число, равное 5, равно другому целому числу, равному 5: если вы хотите провести различие между ними, тип целочисленного значения не следует использовать - вместо этого вам нужен класс.

Это не прямой ответ на ваш вопрос, но, как говорится, улучшение алгоритма лучше, чем реализация или улучшение некорректного; возможно, если бы вы могли дать нам больше контекста, мы могли бы помочь с вашей более общей проблемой / задачей в целом?

Надеюсь, это поможет!

3 голосов
/ 05 июля 2010

Это невозможно.

Вместо этого вы можете использовать класс с записываемым свойством, например:

class Reference<T> {
    public T Value { get; set; }
    public Reference(T value) { Value = value; }
}
1 голос
/ 05 июля 2010

Оберните его в пользовательский класс, я думаю.

...