2025-05-12 02:48:54 +03:00
|
|
|
|
/*
|
|
|
|
|
* Author: Nikolay Dvurechensky
|
|
|
|
|
* Site: https://www.dvurechensky.pro/
|
|
|
|
|
* Gmail: dvurechenskysoft@gmail.com
|
|
|
|
|
* Last Updated: 12 мая 2025 02:47:11
|
|
|
|
|
* Version: 1.0.3
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
using System;
|
2024-10-05 09:59:53 +03:00
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Ключевое слово static
|
|
|
|
|
*
|
|
|
|
|
* Статический конструктор
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
class DbRepository
|
|
|
|
|
{
|
|
|
|
|
private static string connectString;
|
|
|
|
|
|
|
|
|
|
static DbRepository() //один раз срабатывает после старта программы
|
|
|
|
|
{
|
|
|
|
|
ConfigurationManager configurationManager = new ConfigurationManager();
|
|
|
|
|
connectString = configurationManager.GetConnectionString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void GetData() => Console.WriteLine($"Использую: {connectString}");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class ConfigurationManager
|
|
|
|
|
{
|
|
|
|
|
public string GetConnectionString() => "localDB";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Terro
|
|
|
|
|
{
|
|
|
|
|
public Terro() => Console.WriteLine("Конструктор");
|
|
|
|
|
|
|
|
|
|
public Terro(int a) => Console.WriteLine("Конструктор new a");
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Модификаторы доступа вообще не используются
|
|
|
|
|
/// Может быть только один статический конструктор в классе
|
|
|
|
|
/// Нельзя использовать перегрузку
|
|
|
|
|
/// Не может принимать параметров
|
|
|
|
|
/// Выполняется только один раз
|
|
|
|
|
/// </summary>
|
|
|
|
|
static Terro() => Console.WriteLine("Статический конструктор");
|
|
|
|
|
|
|
|
|
|
public static int g;
|
|
|
|
|
|
|
|
|
|
public static void Foo()
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine("Foo");
|
|
|
|
|
g = 2;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Program
|
|
|
|
|
{
|
|
|
|
|
static void Main()
|
|
|
|
|
{
|
|
|
|
|
Terro.Foo();
|
|
|
|
|
Terro terro = new Terro();
|
|
|
|
|
new Terro();
|
|
|
|
|
new Terro();
|
|
|
|
|
new Terro();
|
|
|
|
|
|
|
|
|
|
var dbRepository = new DbRepository();
|
|
|
|
|
dbRepository.GetData();
|
|
|
|
|
Console.ReadKey();
|
|
|
|
|
}
|
|
|
|
|
}
|