powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Мелкие особенности C#
12 сообщений из 12, страница 1 из 1
Мелкие особенности C#
    #32578500
НЕ СКАЖУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такие вопросы:
1.Почему метод Main можно определять как private? Тогда ее нельзя вызвать из внешнего модуля. А среда выполнения как раз это и делает вне зависимости от спецификатора доступа. Как она может вызвать Main при том, что он объявлен как private?
2.Можно ли объявлять в методах статические переменные?
3.Как вы относитеськ тому, что C# не поддерживает множественное наследование?Может это и имеет какое-то логическое объяснение, что в C# от множественного наследования отказались, но как быть, если мы хотим унаследовать функциональность нескольких классов? Пока я не нашел логического объяснения этому. Единственное может быть то, что оно не требуется в 99%. Ведь множественное наследование интерфейсов поддерживается, и этого достаточно.
Заранее спасибо.
...
Рейтинг: 0 / 0
Мелкие особенности C#
    #32578552
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор3.Как вы относитеськ тому, что C# не поддерживает множественное наследование?Может это и имеет какое-то логическое объяснение, что в C# от множественного наследования отказались, но как быть, если мы хотим унаследовать функциональность нескольких классов?

Допустимо наследование от класса и нескольких интерфейсов.
...
Рейтинг: 0 / 0
Мелкие особенности C#
    #32578781
НЕ СКАЖУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И больше никто ничего сказать не может?
...
Рейтинг: 0 / 0
Мелкие особенности C#
    #32578834
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. CLR ищет метод, помеченный как .entrypoint и вызывает его, игнорируя спецификатор доступа. В процессе компиляции можно переопределять start point, тогда наверное по отношению к main имеют смысл спецификаторы доступа - нельзя будет вызвать main из другого модуля.
2. можно
3. пожалуй верно именно то, что не требуется в 99%, возможно еще реализация множественного наследования сложнее для компилятора и адресации
...
Рейтинг: 0 / 0
Мелкие особенности C#
    #32579079
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greenapple2. можно

Ну на счет статических переменных внутри методов вы погорячились.
...
Рейтинг: 0 / 0
Мелкие особенности C#
    #32579527
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о, да, с этим отличием от VB.NET я еще не сталкивался, пасиб
...
Рейтинг: 0 / 0
Мелкие особенности C#
    #32579588
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о, да, с этим отличием от VB.NET я еще не сталкивался, пасиб

ИМХО сомнительная фича, осталась от vb6

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Мелкие особенности C#
    #32579925
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да нет в общем, и в Cрр ведь есть
...
Рейтинг: 0 / 0
Мелкие особенности C#
    #32580587
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От множественного наследования отказались по причине возможности возникновения так назваемого дублирования. Например class A,
class B : A, class C : A, class D : B, C. Возникает такая ситуация: члены A попадут в D как члены B и члены C. А теперь простой вопрос, что вызывать? Честно говоря сразу не вспомню как решался этот вопрос в С++, но вообще множественное наследование порождает кучу проблем, и теоретически в большинстве случаем без него можна обойтись... хотя как говорил классик: "Множестенное наследование как парашют, весчь совершенно бесполезная в хозястве, но когда он вам действительно понадобиться вы очень пожалеете, что его нет..."
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Мелкие особенности C#
    #32583482
Фотография B0rG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не через интерфейсы ли?

IInterfaceA.method1()
IInterfaceB.method1()

Cheers
Pete
...
Рейтинг: 0 / 0
Мелкие особенности C#
    #32583916
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На С++ проблема решалась, например, через виртуальное наследование - тогда в D попадал только один набор членов А.
...
Рейтинг: 0 / 0
Мелкие особенности C#
    #32584003
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
B0rGНе через интерфейсы ли?

IInterfaceA.method1()
IInterfaceB.method1()

Cheers
Pete

В С++ интерфейсов не было (зачем?), точнее были... но было это все связанно с COM и т.д. и имело совершенно другой смысл...
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Мелкие особенности C#
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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