static void Main(string[] args) { int x = MyClass <int> .FactoryMethod(); Console.WriteLine(x); var z = MyClass <double> .FactoryMethod(); Console.WriteLine(z); string y = MyClass <string> .FactoryMethod(); Console.WriteLine(y); Book book = MyClass <Book> .FactoryMethod(); Console.WriteLine(book.ToString()); //тестирование второго варианта var a = MyClass1 <int> .FactoryMethod(); //var b = MyClass1<string>.FactoryMethod();//нескомпилируется var c = MyClass1 <Book> .FactoryMethod(); Console.WriteLine("Тестирование второго варианта решения"); Console.WriteLine(a); Console.WriteLine(c.ToString()); }