|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
Charles Weyland Если профи выбирают этот путь, значит, это и есть правильный путь. Спасибо за информацию)) С чего ты взял что они профи? :) Алексей КЗачем Model реализовывать IList? Есть объективные причины, кроме желания потренироваться? С чего ты взял, что это модель? Может сложный бизнес объект? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 11:51 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
перебор строк в foreach, применение к ним linq для поиска, выборки, удаление, копирование содержимого строки. Я сейчас посмотрел все методы в iList и вижу, что все до единого будут использованы. А... стоп.. кроме public void Add(T item). точно, тогда iList не подходит. От IEnumerable наследоваться буду. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 11:54 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
ЕвгенийВС чего ты взял, что это модель? Может сложный бизнес объект? Тем более, коллекция должна быть коллекцией, объект не должен вести себя как коллекция. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 11:55 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
Charles Weylandперебор строк в foreach, применение к ним linq для поиска, выборки, удаление, копирование содержимого строки. Я сейчас посмотрел все методы в iList и вижу, что все до единого будут использованы. А... стоп.. кроме public void Add(T item). точно, тогда iList не подходит. От IEnumerable наследоваться буду.Ну и обращайся для этих целей к инкапсулированному свойству Rows. Зачем делегировать этот функционал кому-то ещё? Делегирование наш враг! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 12:27 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
ЕвгенийВ Алексей КЗачем Model реализовывать IList? Есть объективные причины, кроме желания потренироваться? С чего ты взял, что это модель? Может сложный бизнес объект?Называй это как хочешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 12:28 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
hVosttЕвгенийВС чего ты взял, что это модель? Может сложный бизнес объект? Тем более, коллекция должна быть коллекцией, объект не должен вести себя как коллекция.Редкий случай, когда наши мнения совпадают. Пятница - день чудес! :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 12:36 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
Алексей КНу и обращайся для этих целей к инкапсулированному свойству Rows. Зачем делегировать этот функционал кому-то ещё? Делегирование наш враг! Код: c# 1. 2. 3. 4. 5. 6.
Так получается, что юзер вполне может вписать Код: c# 1.
чем нарушит работу модели. Ведь метод есть - значит, им можно воспользоваться. Нельзя Add с параметром делать. Можно только Код: c# 1.
Поэтому и получается так, что мне придётся сделать объект, который будет вести себя как коллекция, что противоречит вашим (Алексей К и hVostt) высказываниям ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 12:43 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
Алексей КCharles Weylandперебор строк в foreach, применение к ним linq для поиска, выборки, удаление, копирование содержимого строки. Я сейчас посмотрел все методы в iList и вижу, что все до единого будут использованы. А... стоп.. кроме public void Add(T item). точно, тогда iList не подходит. От IEnumerable наследоваться буду.Ну и обращайся для этих целей к инкапсулированному свойству Rows. Зачем делегировать этот функционал кому-то ещё? Делегирование наш враг!Имеется ввиду это: Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 12:45 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
Charles WeylandТак получается, что юзер вполне может вписать Код: c# 1.
чем нарушит работу модели. Инкапсулируй это: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Всё, теперь не может! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 12:47 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
Charles WeylandПоэтому и получается так, что мне придётся сделать объект, который будет вести себя как коллекция, что противоречит вашим (Алексей К и hVostt) высказываниям см. выше ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 12:48 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
Charles WeylandАлексей КНу и обращайся для этих целей к инкапсулированному свойству Rows. Зачем делегировать этот функционал кому-то ещё? Делегирование наш враг! Код: c# 1. 2. 3. 4. 5. 6.
Так получается, что юзер вполне может вписать Код: c# 1.
чем нарушит работу модели. Ведь метод есть - значит, им можно воспользоваться. Нельзя Add с параметром делать. Можно только Код: c# 1.
Поэтому и получается так, что мне придётся сделать объект, который будет вести себя как коллекция, что противоречит вашим (Алексей К и hVostt) высказываниямКак добавление записи может нарушить работу модели? Если нужна проверка на соответствие данных каким-либо критериям, то в Model можно добавить метод IsValid. Не нужно смешивать валидацию и конструирование. Представь, что твой Model потребуется пропускать через какой-нибудь XmlSerializer. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 12:51 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
hVosttВсё, теперь не может! действительно) круть)) Алексей ККак добавление записи может нарушить работу модели? (..) Не нужно смешивать валидацию и конструирование ну элементарно. Ведь если есть у нас коллекция чисел Код: c# 1.
, то добавлять туда можно только числа, верно ведь? Если пользователь добавит a.Add("MichaeL"); то получит ошибку компиляции. Вот тебе "смешение" валидации и конструирования, как ты выразился. Здесь примерно то же самое. Решение hVostt в данном случае мне нравится)) (не долго длилась пятница-день чудес) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 13:06 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
для того, чтоб создать подобный класс, нужно создать свой класс на базе List<T> создать интерфейс который будет описывать все необходимые вам методы, который будет наследован от IListReadOnly<T> и передавать свой интерфейс, а не класс List<T>. А то, что там есть какие то Public методы, о которые в интерфейсе ни чего не сказано, вас волновать не должно, это совершенно не имеет ни какого значения. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 13:38 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
hVosttCharles WeylandТак получается, что юзер вполне может вписать Код: c# 1.
чем нарушит работу модели. Инкапсулируй это: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Всё, теперь не может! Хвост, ты че советуешь? Это даже не компилируется! Сам же сегодня в соседнем топике писал про это! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 16:24 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
ЕвгенийВХвост, ты че советуешь? Это даже не компилируется! Сам же сегодня в соседнем топике писал про это! Я знаю И собственно именно об этом я и говорил. Придётся IList заменить на List. Ничё не поделаешь... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 17:52 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4.
А потом чувак в лист который как аргумент передал айтемов накидает, вот тебе и ридонли...) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2016, 01:38 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
Denis.А потом чувак в лист который как аргумент передал айтемов накидает, вот тебе и ридонли...) косяк))))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2016, 02:10 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
Denis.А потом чувак в лист который как аргумент передал айтемов накидает, вот тебе и ридонли...) Уаще дыра в бизопасности, ниговори ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2016, 13:01 |
|
закрыть доступ к методу при наследовании
|
|||
---|---|---|---|
#18+
hVostt, скорее в абстракции) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2016, 13:44 |
|
|
start [/forum/topic.php?fid=20&msg=39318562&tid=1400322]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 297ms |
total: | 439ms |
0 / 0 |