C#

Рекламный модуль
межкомнатные двери из массива ольхи на сайте

Вызов функций библиотеки классов

Теперь нужно изменить проект Example2 так, чтобы он вызвал функцию проекта Example3. Давайте изменим файл Program.cs проекта Example2 следующим образом.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Example2
{
    class Program
    {
        static void Main(string[] args)
        {
            //Вывод строки консоли "Привет МИР!"
            Console.WriteLine("Привет МИР!");

            //Вызов функции проекта Example3
            Example3.Class1.HelloWorld();
        }
    }
}

Запустите пример Example2, нажав клавиши <Ctrl+F5>. Должно открыться окно сеанса MS DOS, дважды отобразившее слова hello, world. Первый раз это сделал код
Console.WriteLine(), а второй - вызов функции Example3.Class1.HelloWorld().



 

Сокращение ссылок

 


Применение функции Example3.Classl.HelloWorld() - это обычный способ использования ссылки. Если бы мы использовали обычный вызов функции Console.WriteLine() , то должны бы были написать System.Console.WriteLine() , поскольку метод Console.WriteLine() определен по ссылке System. Но мы используем строку using System в самом начале, так что мы не обязаны указывать ее каждый раз.

Чтобы использовать сокращение для вызова функций библиотеки Example3, мы включили бы в начало файла Program.cs проекта Example2 новую строку, using Example3, и изменили бы обращение к методу HelloWorld() библиотеки Class1.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Example3;

namespace Example2
{
    class Program
    {
        static void Main(string[] args)
        {
            //Вывод строки консоли "Привет МИР!"
            Console.WriteLine("Привет МИР!");

            //Вызов функции проекта Example3
            Class1.HelloWorld();
        }
    }
}

Но подобное сокращение обладает и недостатками, если мы имеем много ссылок, каждая из которых содержит класс по имени class1. В данном случае среда Visual С# Express не будет знать, который из классов Class1 использовать, если не будет непосредственной ссылки. Безусловно, вы вероятно не будете присваивать нескольким классам имя class1, но даже значащие имена могут повториться в коллекции ссылок. Но если вы используете какойнибудь другой код для ссылки, вероятность совпадения имен повышается.