Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Шаблонни класове
- //=================================
- namespace ClassTemplates
- {
- //Шаблонен клас с един параметър:
- class Alpha<X>
- {
- //Поле от шаблонен тип:
- public X code;
- //Конструктор:
- public Alpha(X a)
- {
- code = a;
- }
- //Метод:
- public void show()
- {
- Console.WriteLine("Field of type {0}: {1}", typeof(X).Name, code);
- }
- }
- //======================================
- namespace ClassTemplates
- {
- //Шаблонен клас с два параметъра:
- class Beta<X, Y>
- {
- //Полета от шаблонен тип:
- public X first;
- public Y second;
- //Конструктор:
- public Beta(X a, Y b)
- {
- first = a;
- second = b;
- }
- //Метод:
- public void show()
- {
- Console.WriteLine("First field type {0}: {1}", typeof(X).Name, first);
- Console.WriteLine("Seconf field type {0}: {1}", typeof(Y).Name, second);
- }
- }
- }
- //======================================
- namespace ClassTemplates
- {
- //Главен клас:
- public class Program
- {
- //Главен метод:
- static void Main(string[] args)
- {
- //Създаване на обекти на шаблонен клас:
- Alpha<int> A = new Alpha<int>(123);
- Alpha<string> B = new Alpha<string>("Obj B");
- Alpha<char> C = new Alpha<char>('C');
- //Извикване на методи от обектите на шаблонния клас:
- A.show();
- B.show();
- C.show();
- Console.WriteLine();
- //Създаване на обекти на шаблонен клас:
- Beta<int, char> objA = new Beta<int, char>(123, 'A');
- Beta<string, bool> objB = new Beta<string, bool>("objB", true);
- Beta<char, char> objC = new Beta<char, char>('B', 'C');
- //Извикване на методи от обектите на шаблонния клас:
- objA.show();
- objB.show();
- objA.show();
- }
- }
- }
- //Output:
- /*
- Field of type Int32: 123
- Field of type String: Obj B
- Field of type Char: C
- First field type Int32: 123
- Second field type Char: A
- First field type String: objB
- Second field type Boolean: True
- First field type Int32: 123
- Second field type Char: A
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement