русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Main в классе. Точка входа


Дата добавления: 2015-07-09; просмотров: 651; Нарушение авторских прав


Без статической функции (метода) Main невозможно построить выполняемую программу. Без явно обозначенной точки входа сборка не можен выполняться.

В сборке можно располагать несколько классов. Каждый класс располагает собственным набором методов. В каждом классе могут располагаться одноименные методы. В следующем примере объявляются три класса в одном пространстве имён. В каждом классе объявляется независимая точка входа. Три (!) СТАТИЧЕСКИЕ функции Main. Возможно и такое. При этом главная проблема - при компиляции надо явным образом указать точку входа.

§ Это можно сделать из командной строки при вызове компилятора. Например, так:

 

c:\ csc /main:Class1.Class3 Example1.cs

 

§ Можно через диалог The Startup Object property среды разработки приложений (меню Проект-Свойства проекта, далее - General, Common Properties, <Projectname> Property Pages Dialog Box (Visual C#)), который обеспечивает спецификацию значений, которые явным образом НЕ ПРОПИСАНЫ в проекте. В разделе Startup object, надо раскрыть список классов и указать соответствующий класс.

 

Транслятор соберёт сборку, В которой будет обеспечена передача управления соответствующей функции Main (одной из трёх!).

 

using System;

namespace Example1

{

//===============================================

public class Class1

{

// Спецификатор public нужен здесь. Третий класс.

public class Class3

{

public static void Main()

{

string[] sss = new string[]{Class1.s.ToString(),”12345”};

Class1.Main(sss);

}

}

 

int d = 0;

public static int s;

static void Main(string[] args)

{

Class1 c1 = new Class1();

f1(c1);

c1.f2();

Class2 c2 = new Class2();

//c2.f2();

c2.f3();

string[] sss = new string[] {”qwerty”, c1.ToString()};

Class2.Main(sss);



}

 

static void f1(Class1 x)

{

//x.s = 100;

s = 0;

Class1.s = 125;

x.d = 1;

//d = 100;

}

 

void f2()

{

s = 0;

Class1.s = 100;

//this.s = 5;

//Class1.d = 125;

this.d = 100;

d = 100;

}

 

}

//===============================================

class Class2

{

int d;

static int s;

 

public static void Main(string[] args)

{

Class1.Class3.Main();

Class2 c2 = new Class2();

f1(c2);

c2.f2();

//Class1.Main();

}

 

static void f1(Class2 x)

{

//x.s = 100;

s = 0;

Class2.s = 125;

x.d = 1;

//d = 100;

}

 

void f2()

{

s = 0;

Class1.s = 100;

//this.s = 5;

//Class1.d = 125;

this.d = 100;

d = 100;

}

 

public void f3()

{

s = 0;

Class1.s = 100;

//this.s = 5;

//Class1.d = 125;

this.d = 100;

d = 100;

}

 

}

//===============================================

}

 

Структура также может иметь свою точку входа!

 

using System;

namespace defConstructors

{

struct MyStruct

{

static void Main(string[] args)

{

Console.WriteLine(“Ha-ha-ha”);

}

}

}



<== предыдущая лекция | следующая лекция ==>
Массивы как параметры | Создание объекта. Конструктор


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.622 сек.