Аксессоры
От: Taurvat Россия  
Дата: 03.12.03 12:18
Оценка: 1 (1)
Никто не знает, как сделать так, чтобы для атрибута get-accessor был определен как public, а set-accessor — как private? Т.е. прочитать атрибут можно извне, а определить только внутри класса.
Re: Аксессоры
От: Аноним  
Дата: 03.12.03 12:28
Оценка: +2
Здравствуйте, Taurvat, Вы писали:

T>Никто не знает, как сделать так, чтобы для атрибута get-accessor был определен как public, а set-accessor — как private? Т.е. прочитать атрибут можно извне, а определить только внутри класса.

Так сделать нельзя
Re[2]: Аксессоры
От: Taurvat Россия  
Дата: 03.12.03 12:45
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Так сделать нельзя


Грустно, черт возьми, а было бы так удобно
Re[3]: Аксессоры
От: orangy Россия
Дата: 03.12.03 12:47
Оценка:
Здравствуйте, Taurvat, Вы писали:

А>>Так сделать нельзя

T>Грустно, черт возьми, а было бы так удобно
А зачем? Метод что-ли трудно сделать? Всё равно в интерфейсе класса не торчит...
... << RSDN@Home 1.1.2 beta 1 >>
"Develop with pleasure!"
Re[2]: Аксессоры
От: Taurvat Россия  
Дата: 03.12.03 12:51
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Taurvat, Вы писали:


T>>Никто не знает, как сделать так, чтобы для атрибута get-accessor был определен как public, а set-accessor — как private? Т.е. прочитать атрибут можно извне, а определить только внутри класса.

А>Так сделать нельзя

Хмм, единственный выход, который я нашел — это изменить руками public на private в манифесте для Set_<Attribute>, но это уже конечно суровый изврат
Re[4]: Аксессоры
От: Taurvat Россия  
Дата: 03.12.03 12:53
Оценка:
Здравствуйте, orangy, Вы писали:

O>Здравствуйте, Taurvat, Вы писали:


А>>>Так сделать нельзя

T>>Грустно, черт возьми, а было бы так удобно
O>А зачем? Метод что-ли трудно сделать? Всё равно в интерфейсе класса не торчит...

Банально на момент описания сета куча кода уже написана и править все на методы несколько лениво.
Re[3]: Аксессоры
От: V.Petrovski Беларусь  
Дата: 03.12.03 12:56
Оценка:
Здравствуйте, Taurvat, Вы писали:

T>Здравствуйте, Аноним, Вы писали:


А>>Так сделать нельзя


T>Грустно, черт возьми, а было бы так удобно


В до второй бета версии можно было нажначать разные модифакаторы подступа для get и set.

Я не уверен, но можешь попробовать, что эта вожможность доступна на
из языка IL.
... << RSDN@Home 1.1.0 stable silent>>
Re[4]: Аксессоры
От: Воронков Василий Россия  
Дата: 03.12.03 13:02
Оценка:
> Я не уверен, но можешь попробовать, что эта вожможность доступна на
> из языка IL.

Вроде доступна. По крайней мере сам Дон Бокс так говорил.
Posted via RSDN NNTP Server 1.8 beta
Re: Аксессоры
От: mihailik Украина  
Дата: 04.12.03 16:58
Оценка: -1
T>Никто не знает, как сделать так, чтобы для атрибута get-accessor был определен как public, а set-accessor — как private? Т.е. прочитать атрибут можно извне, а определить только внутри класса.

Можно сделать отнаследоваться от публичного класса и переопределить в нём свойство:

public class Groosha
{
    public int NelzaSkushat
    {
        get { }
    }
}

internal class GrooshaInternal
{
    public new int NelzaSkushat
    {
        get { return base.NelzaSkushat; }
        set
        {
            // а тут уж извращать
        }
    }
}
... << RSDN@Home 1.1.0 stable >>
Re: Аксессоры
От: mihailik Украина  
Дата: 04.12.03 17:00
Оценка:
T>Никто не знает, как сделать так, чтобы для атрибута get-accessor был определен как public, а set-accessor — как private? Т.е. прочитать атрибут можно извне, а определить только внутри класса.

Можно сделать отнаследоваться от публичного класса и переопределить в нём свойство:

public class Groosha
{
    public int NelzaSkushat
    {
        get { }
    }
}

internal class GrooshaInternal
{
    public new int NelzaSkushat
    {
        get { return base.NelzaSkushat; }
        set
        {
            // а тут уж извращать
        }
    }
}
... << RSDN@Home 1.1.0 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.