Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создавать функции и процедуры в visual c#, visual C# 
:(
    Опции темы
Chernikov1975
Дата 11.2.2011, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 3.3.2009

Репутация: нет
Всего: нет



Народ!
Как можно создавать функцию или процедуру в visual c#?
PM MAIL   Вверх
jonie
Дата 11.2.2011, 08:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



никак. В C# возможны только методы классов.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
KelTron
Дата 11.2.2011, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 9
Всего: 38



Можно - статические функции, но их можно создавать только внутри классов. Это не методы, т.к. this туда не передаётся..


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
kemiisto
Дата 11.2.2011, 11:23 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 4
Всего: 160



Цитата(KelTron @  11.2.2011,  08:36 Найти цитируемый пост)
Это не методы, т.к. this туда не передаётся.. 

Кругом новая физика, а у нас тут новая информатика. smile 

Цитата(KelTron @  11.2.2011,  08:36 Найти цитируемый пост)
статические функции

Они вообще то статические методы называются. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
KelTron
Дата 11.2.2011, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 9
Всего: 38



Цитата(kemiisto @  11.2.2011,  11:23 Найти цитируемый пост)
Они вообще то статические методы называются.

Ладно, по поводу терминологии спорить не буду - гиблое это дело, но по смыслу и функциональности "статические методы" аналог процедур и функций.


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
neutrino
Дата 13.2.2011, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 3
Всего: 62



Цитата(KelTron @  11.2.2011,  11:25 Найти цитируемый пост)
по смыслу и функциональности "статические методы" аналог процедур и функций. 

Ну как сказать. Дело в том, что статические методы - это тоже методы класса только какого? Eсли вы вызовите GetType(), то вернется ссылка на ОБЪЕКТ класса типа вашего класса (Type Object) и в нем то и сидят все статические методы, поля и т.д. Type Object есть всегда только один (если класс используется), и его методы компилируются JIT-ом только по мере использования.

Ты возможно имел в виду, что статичный метод отличается от обычных методов класса хотя бы тем, что ему не передают this. Это тоже неточно. this ему передают (скорее всего smile ), но только какого типа этот this?

Рассмотрим следующий код:

Код

class SomeClass
{
    private static int field;

    public static void SetFieldValue(int value)
    {
        field = value;
    }

    // Other methods
}


Для начала, давайте подумаем когда создается Type Object этого класса? Ясно во время выполнения, а значит его ссылка (адресс) не известна в момент компиляции. Следовательно, метод SetFieldValue должен получить ссылку на объект Type Object класса SomeClass. Т.е. то, что выполняется на самом деле: 
Код

someClassObject.GetType().SetFieldValue(someClassObject.GetType(), value)
, ну или что-то типа того. Это все стоит проверить с помощью ildasm-а. Интересно.




--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0473 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.