Собственно, про def function_name. Это ведь синтаксис объявления локальных функций?
Например, такой код:
class Main
{
public static Main() : void
{
Console.WriteLine("Main");
}
}
def Invoke() {
Console.WriteLine("Invoke");
}
приводит к ошибке:
more then one entry point (Main function) found in _N_AutoModule
Ну что ж, дело нехитрое. Меняем:
class Main
{
public static Main2() : void
{
Console.WriteLine("Main");
}
}
def Invoke() {
Console.WriteLine("Invoke");
}
Все спокойно компилируется. Но на консоль ничего не выводится. Причина в общем-то понятна — если есть код в глобальном скопе то немерле генерит для него родительский модуль и функцию Main. Хотя выглядит это как-то криво. Не говоря уж о том, что нужно иметь какое-то представление о химии компилятора, чтобы просто понять сообщение об ошибке.
В общем предлагаю пофлеймить на эту тему.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, Воронков Василий, Вы писали:
ВВ>ВВ>class Main
ВВ>{
ВВ> public static Main2() : void
ВВ> {
ВВ> Console.WriteLine("Main");
ВВ> }
ВВ>}
ВВ>def Invoke() {
ВВ> Console.WriteLine("Invoke");
ВВ>}
Invoke();
ВВ>
ВВ>Все спокойно компилируется. Но на консоль ничего не выводится.
Ну так а кто же его вызывать будет? Объявление функции и её вызов — это разные вещи.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Здравствуйте, Воронков Василий, Вы писали:
ВВ>class Main
ВВ>{
ВВ> public static Main2() : void
ВВ> {
ВВ> Console.WriteLine("Main");
ВВ> }
ВВ>}
ВВ>def Invoke() {
ВВ> Console.WriteLine("Invoke");
ВВ>}
ВВ>Все спокойно компилируется. Но на консоль ничего не выводится.
Не выводится, потому что ни одну из объявленных тобой функций никто не вызывает
ВВ>Причина в общем-то понятна
Видимо она заключается в том, что корпоративная вечеринка у вас уже в полном разгаре?