powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / закрыть доступ к методу при наследовании
45 сообщений из 45, показаны все 2 страниц
закрыть доступ к методу при наследовании
    #39318228
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    public class Rows : List<Row>
    {
        HH header; //как видно, у всех строк один заголовок
        public Rows(HH header) //и он инициализируется здесь
            : base()
        {
            this.headerCell = headerCell;
        }
        public void Add()
        {
            this.Add(new MDRow(headerCell));
        }
        new private void Add(MDRow item) //жалкая попытка запретить доступ к этому методу извне
        {
            ((List<MDRow>)this).Add(item);
        }
    }



Как закрыть доступ к методу при наследовании?
В и-нете находил только ответы из разряда "значит, неправильно проектируешь, так нельзя". Не подходит :)
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318229
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу там вписать просто тупо NotImplementedException
Не подходит по той причине, что в случае случайного использования метода (на автомате или ещё как), ошибка должна возникнуть на этапе компиляции, а не на этапе тестирования.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318242
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandНе подходит :)
пичалька
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318249
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandМогу там вписать просто тупо NotImplementedException
Не подходит по той причине, что в случае случайного использования метода (на автомате или ещё как), ошибка должна возникнуть на этапе компиляции, а не на этапе тестирования.
Через PostSharp
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318263
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не наследовать лист, а сделать его полем класса и наружу высунуть то, что тебе нужно
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318269
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weyland
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    public class Rows : List<Row>
    {
        HH header; //как видно, у всех строк один заголовок
        public Rows(HH header) //и он инициализируется здесь
            : base()
        {
            this.headerCell = headerCell;
        }
        public void Add()
        {
            this.Add(new MDRow(headerCell));
        }
        new private void Add(MDRow item) //жалкая попытка запретить доступ к этому методу извне
        {
            ((List<MDRow>)this).Add(item);
        }
    }



Как закрыть доступ к методу при наследовании?
В и-нете находил только ответы из разряда "значит, неправильно проектируешь, так нельзя". Не подходит :)Лучше попробуй применить такую структуру данных:
Код: c#
1.
2.
3.
4.
5.
6.
class Model
{
    public HH Header { get; set; }

    public List<Row> Rows { get; set; }
}
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318366
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandВ и-нете находил только ответы из разряда "значит, неправильно проектируешь, так нельзя". Не подходит :)

Это самый правильный ответ. В этом случае нельзя использовать наследование, а надо использовать композицию.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318376
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weyland,
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
  public class Rows : List<Row>
        {
            HH header; //как видно, у всех строк один заголовок
            public Rows(HH header) //и он инициализируется здесь
                : base()
            {
                
            }
            /// <summary>
            /// попытка использования вызовет ошибку компиляции
            /// </summary>
            /// <param name="item"></param>
          [Obsolete("Гуляй Вася, ешь опилки", true)]
            new public void Add(Row item) //жалкая попытка запретить доступ к этому методу извне
            {
              
            }
        }
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318402
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisНе наследовать лист, а сделать его полем класса и наружу высунуть то, что тебе нужно
Нужно дофига чего.. в том числе, и отправлять в качестве аргумента в функции f(List<..>)
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318403
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weyland,

Код: c#
1.
public class Rows : IReadOnlyList<Row>




мм?
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318424
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
мм?
А если удаление треба?
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318436
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

Ну и добавляешь метод удаления )
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318438
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandPallarisНе наследовать лист, а сделать его полем класса и наружу высунуть то, что тебе нужно
Нужно дофига чего.. в том числе, и отправлять в качестве аргумента в функции f(List<..>)

Функции, кстати, не должны никогда принимать List, только так (в порядке предпочтения):

IEnumerable<T>
IReadOnlyCollection<T>
IReadOnlyList<T>
ICollection<T>
IList<T>

И проблем не будет.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318440
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttCharles Weylandпропущено...

Нужно дофига чего.. в том числе, и отправлять в качестве аргумента в функции f(List<..>)

Функции, кстати, не должны никогда принимать List, только так (в порядке предпочтения):

IEnumerable<T>
IReadOnlyCollection<T>
IReadOnlyList<T>
ICollection<T>
IList<T>

И проблем не будет. Вот беспроблемный способ. Всё остальное влечёт за собой проблемы различной степени тяжести.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318442
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, получается в любом случае мне нужно писать "своими словами" то, что уже написано.

Если мне нужен List<Row> со своим конструктором (вместо конструктора без параметров) и со своим Add без параметров (вместо Add с параметрами) - мне придётся писать чуть ли не с нуля свой класс, в котором реализовывать всё, что реализовано в List, кроме этих двух вещей.

}{ерня какая-то((
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318446
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttФункции, кстати, не должны никогда принимать List, только так (в порядке предпочтения):

IEnumerable<T>
IReadOnlyCollection<T>
IReadOnlyList<T>
ICollection<T>
IList<T>

И проблем не будет.
с этим согласен. Это я навскидку сказал. Потом сообразил, что этого нафиг не надо.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318450
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandБлин, получается в любом случае мне нужно писать "своими словами" то, что уже написано.Да, если будешь игнорировать мои сообщения . Впрочем, можно применить что-то вроде ObservableCollection и подписаться на изменения, но это тоже ничего хорошего.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318452
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weyland}{ерня какая-то((

Никакой херни.

Вот тебе заготовка:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
public class MyCustomList<T> : IList<T>
    {
        public IEnumerator<T> GetEnumerator()
        {
            throw new NotImplementedException();
        }

        IEnumerator IEnumerable.GetEnumerator()
        {
            return GetEnumerator();
        }

        public void Add(T item)
        {
            throw new NotImplementedException();
        }

        public void Clear()
        {
            throw new NotImplementedException();
        }

        public bool Contains(T item)
        {
            throw new NotImplementedException();
        }

        public void CopyTo(T[] array, int arrayIndex)
        {
            throw new NotImplementedException();
        }

        public bool Remove(T item)
        {
            throw new NotImplementedException();
        }

        public int Count { get; }
        public bool IsReadOnly { get; }
        public int IndexOf(T item)
        {
            throw new NotImplementedException();
        }

        public void Insert(int index, T item)
        {
            throw new NotImplementedException();
        }

        public void RemoveAt(int index)
        {
            throw new NotImplementedException();
        }

        public T this[int index]
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }
    }



Внутри можешь спрятать List<T>.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318457
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЛучше попробуй применить такую структуру данных:
Код: c#
1.
2.
3.
4.
5.
6.
class Model
{
    public HH Header { get; set; }

    public List<Row> Rows { get; set; }
}


не совсем понятно.
Я ведь хочу создать свой класс Rows. Я в нём ещё пару своих событий описываю, добавляю функциональность, которая необходима для работы с группой строк как с одним объектом. Например, "добавить колонку", "удалить колонку" в случае изменения количества столбцов в заголовке header и т.д. Поэтому считаю неправильным работать с "голым" классом List<Row>. Куда ж всю логику работы с группой строк девать?
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318461
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КДа, если будешь игнорировать мои сообщения .
не, я не игнорирую - благодарен за любые высказанные мысли.
Как раз последовательно читал всё, что мне написали и отвечал.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318462
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandАлексей КЛучше попробуй применить такую структуру данных:
Код: c#
1.
2.
3.
4.
5.
6.
class Model
{
    public HH Header { get; set; }

    public List<Row> Rows { get; set; }
}


не совсем понятно.
Я ведь хочу создать свой класс Rows. Я в нём ещё пару своих событий описываю, добавляю функциональность, которая необходима для работы с группой строк как с одним объектом. Например, "добавить колонку", "удалить колонку" в случае изменения количества столбцов в заголовке header и т.д. Поэтому считаю неправильным работать с "голым" классом List<Row>. Куда ж всю логику работы с группой строк девать?Ну и добавляй в класс Model методы "добавить колонку" и т. п.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318463
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandАлексей КЛучше попробуй применить такую структуру данных:
Код: c#
1.
2.
3.
4.
5.
6.
class Model
{
    public HH Header { get; set; }

    public List<Row> Rows { get; set; }
}



не совсем понятно.
Я ведь хочу создать свой класс Rows. Я в нём ещё пару своих событий описываю, добавляю функциональность, которая необходима для работы с группой строк как с одним объектом. Например, "добавить колонку", "удалить колонку" в случае изменения количества столбцов в заголовке header и т.д. Поэтому считаю неправильным работать с "голым" классом List<Row>. Куда ж всю логику работы с группой строк девать?

Алексей говорит дело, послушай его. Композиция лучше наследования. Чем монстрячить свой класс-коллекцию, создай отедельный класс, с конкретными методами и свойствами, где будет в том числе коллекция.

Всегда, предпочитай композицию наследованию! И 20 раз подумай, прежде чем делать свою коллекцию в режиме наследования — это практически всегда тупиковый путь.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318466
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttВнутри можешь спрятать List<T>.
это я и имел в виду. Просто на пустом месте разрастается код.
Получится
Код: c#
1.
RemoveAt(..){list.RemoveAt(..);}


и так весь код.
Ну, видимо, по этому пути пойти придётся.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318470
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, послушав вас, сделаю так
Код: c#
1.
2.
3.
4.
5.
6.
class Model: IList<T>
{
    public HH Header { get; set; }

    public List<Row> Rows { get; set; }
}



Если профи выбирают этот путь, значит, это и есть правильный путь.
Спасибо за информацию))
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318473
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandВ общем, послушав вас, сделаю так
Код: c#
1.
2.
3.
4.
5.
6.
class Model: IList<T>
{
    public HH Header { get; set; }

    public List<Row> Rows { get; set; }
}



Если профи выбирают этот путь, значит, это и есть правильный путь.
Спасибо за информацию))Зачем Model реализовывать IList? Есть объективные причины, кроме желания потренироваться?
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318488
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weyland
Если профи выбирают этот путь, значит, это и есть правильный путь.
Спасибо за информацию))
С чего ты взял что они профи? :)

Алексей КЗачем Model реализовывать IList? Есть объективные причины, кроме желания потренироваться?
С чего ты взял, что это модель? Может сложный бизнес объект?
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318492
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перебор строк в foreach, применение к ним linq для поиска, выборки, удаление, копирование содержимого строки.
Я сейчас посмотрел все методы в iList и вижу, что все до единого будут использованы.

А... стоп.. кроме public void Add(T item).
точно, тогда iList не подходит. От IEnumerable наследоваться буду.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318493
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВС чего ты взял, что это модель? Может сложный бизнес объект?

Тем более, коллекция должна быть коллекцией, объект не должен вести себя как коллекция.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318530
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weylandперебор строк в foreach, применение к ним linq для поиска, выборки, удаление, копирование содержимого строки.
Я сейчас посмотрел все методы в iList и вижу, что все до единого будут использованы.

А... стоп.. кроме public void Add(T item).
точно, тогда iList не подходит. От IEnumerable наследоваться буду.Ну и обращайся для этих целей к инкапсулированному свойству Rows. Зачем делегировать этот функционал кому-то ещё? Делегирование наш враг!
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318533
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ
Алексей КЗачем Model реализовывать IList? Есть объективные причины, кроме желания потренироваться?
С чего ты взял, что это модель? Может сложный бизнес объект?Называй это как хочешь.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318545
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЕвгенийВС чего ты взял, что это модель? Может сложный бизнес объект?

Тем более, коллекция должна быть коллекцией, объект не должен вести себя как коллекция.Редкий случай, когда наши мнения совпадают. Пятница - день чудес! :-)
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318558
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу и обращайся для этих целей к инкапсулированному свойству Rows. Зачем делегировать этот функционал кому-то ещё? Делегирование наш враг!
Код: c#
1.
2.
3.
4.
5.
6.
class Model
{
    public HH Header { get; set; }

    public List<Row> Rows { get; set; }
}


Так получается, что юзер вполне может вписать
Код: c#
1.
model.Rows.Add(bla)

чем нарушит работу модели.
Ведь метод есть - значит, им можно воспользоваться.
Нельзя Add с параметром делать. Можно только
Код: c#
1.
model.AddRow()


Поэтому и получается так, что мне придётся сделать объект, который будет вести себя как коллекция, что противоречит вашим (Алексей К и hVostt) высказываниям
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318559
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КCharles Weylandперебор строк в foreach, применение к ним linq для поиска, выборки, удаление, копирование содержимого строки.
Я сейчас посмотрел все методы в iList и вижу, что все до единого будут использованы.

А... стоп.. кроме public void Add(T item).
точно, тогда iList не подходит. От IEnumerable наследоваться буду.Ну и обращайся для этих целей к инкапсулированному свойству Rows. Зачем делегировать этот функционал кому-то ещё? Делегирование наш враг!Имеется ввиду это:
Код: c#
1.
2.
3.
4.
foreach(var row in model.Rows)
{
    //......
}
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318562
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandТак получается, что юзер вполне может вписать
Код: c#
1.
model.Rows.Add(bla)


чем нарушит работу модели.

Инкапсулируй это:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
class Model
{
    private IList<Row> _rows;

    public HH Header { get; set; }

    public IReadOnlyList<Row> Rows { get {return _rows;} }

    public Model(IEnumerable<Row> rows)
    {
        _rows = (rows as IList<Row>) ?? rows.ToList();
    }
}



Всё, теперь не может!
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318564
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandПоэтому и получается так, что мне придётся сделать объект, который будет вести себя как коллекция, что противоречит вашим (Алексей К и hVostt) высказываниям

см. выше
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318568
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles WeylandАлексей КНу и обращайся для этих целей к инкапсулированному свойству Rows. Зачем делегировать этот функционал кому-то ещё? Делегирование наш враг!
Код: c#
1.
2.
3.
4.
5.
6.
class Model
{
    public HH Header { get; set; }

    public List<Row> Rows { get; set; }
}


Так получается, что юзер вполне может вписать
Код: c#
1.
model.Rows.Add(bla)

чем нарушит работу модели.
Ведь метод есть - значит, им можно воспользоваться.
Нельзя Add с параметром делать. Можно только
Код: c#
1.
model.AddRow()


Поэтому и получается так, что мне придётся сделать объект, который будет вести себя как коллекция, что противоречит вашим (Алексей К и hVostt) высказываниямКак добавление записи может нарушить работу модели? Если нужна проверка на соответствие данных каким-либо критериям, то в Model можно добавить метод IsValid. Не нужно смешивать валидацию и конструирование. Представь, что твой Model потребуется пропускать через какой-нибудь XmlSerializer.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318589
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttВсё, теперь не может!
действительно) круть))

Алексей ККак добавление записи может нарушить работу модели? (..) Не нужно смешивать валидацию и конструирование
ну элементарно.
Ведь если есть у нас коллекция чисел
Код: c#
1.
List<int> a

, то добавлять туда можно только числа, верно ведь? Если пользователь добавит a.Add("MichaeL"); то получит ошибку компиляции. Вот тебе "смешение" валидации и конструирования, как ты выразился.
Здесь примерно то же самое.
Решение hVostt в данном случае мне нравится))
(не долго длилась пятница-день чудес)
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318625
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для того, чтоб создать подобный класс, нужно создать свой класс на базе List<T> создать интерфейс который будет описывать все необходимые вам методы, который будет наследован от IListReadOnly<T> и передавать свой интерфейс, а не класс List<T>.
А то, что там есть какие то Public методы, о которые в интерфейсе ни чего не сказано, вас волновать не должно, это совершенно не имеет ни какого значения.
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318825
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttCharles WeylandТак получается, что юзер вполне может вписать
Код: c#
1.
model.Rows.Add(bla)


чем нарушит работу модели.

Инкапсулируй это:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
class Model
{
    private IList<Row> _rows;

    public HH Header { get; set; }

    public IReadOnlyList<Row> Rows { get {return _rows;} }

    public Model(IEnumerable<Row> rows)
    {
        _rows = (rows as IList<Row>) ?? rows.ToList();
    }
}



Всё, теперь не может!
Хвост, ты че советуешь? Это даже не компилируется!
Сам же сегодня в соседнем топике писал про это!
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39318896
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВХвост, ты че советуешь? Это даже не компилируется!
Сам же сегодня в соседнем топике писал про это!

Я знаю И собственно именно об этом я и говорил. Придётся IList заменить на List. Ничё не поделаешь...
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39319038
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
public Model(IEnumerable<Row> rows)
    {
        _rows = (rows as IList<Row>) ?? rows.ToList();
    }


А потом чувак в лист который как аргумент передал айтемов накидает, вот тебе и ридонли...)
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39319044
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.А потом чувак в лист который как аргумент передал айтемов накидает, вот тебе и ридонли...)
косяк)))))))
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39319086
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.А потом чувак в лист который как аргумент передал айтемов накидает, вот тебе и ридонли...)


Уаще дыра в бизопасности, ниговори
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39319095
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

скорее в абстракции)
...
Рейтинг: 0 / 0
закрыть доступ к методу при наследовании
    #39319103
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.,

да какая уж тут абстракция...
...
Рейтинг: 0 / 0
45 сообщений из 45, показаны все 2 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / закрыть доступ к методу при наследовании
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]