Основы объектно-ориентированного программирования на языке C# book | Page 122
7 Класи
Для демонстрацiı̈ цих правил розглянемо такий приклад:
using System;
namespace TestStaticNonStaticInitialization
{
public class TestStaticNonStaticInitialization
{
public TestStaticNonStaticInitialization()
{
Console.WriteLine("Call NonStatic Constructor");
Console.WriteLine("x=" + x);
Console.WriteLine("y=" + y);
}
static TestStaticNonStaticInitialization()
{
Console.WriteLine("Call Static Constructor");
}
static int InitValue(string message)
{
Console.WriteLine(message);
return 100;
}
public static void StaticMethod()
{
Console.WriteLine("Call Static Method");
}
private int y = InitValue("Initialization of NonStatic value y");
private int x = InitValue("Initialization of NonStatic value x");
public static int a = InitValue("Initialization of Static value a"
);
public static int b = InitValue("Initialization of Static value b"
);
}
class Program
{
static void Main(string [] arg)
{
Console.WriteLine("Main");
TestStaticNonStaticInitialization.StaticMethod();
Console.WriteLine("Create instance #1");
TestStaticNonStaticInitialization N1incance = new
TestStaticNonStaticInitialization();
Console.WriteLine("Create instance #2");
TestStaticNonStaticInitialization N2incance = new
TestStaticNonStaticInitialization();
}
}
}
Пiсля запуску програми на екранi буде надруковано:
Main
Initialization of Static value a
Initialization of Static value b
Call Static Constructor
Call Static Method
Create instance #1
122