MyClass t = new MyClass(); t.a = i; t.b = j; return t; // ob'ektni qaytarish } public void Show() { Console.WriteLine("аиb: " + a + " " + b); } } class MakeObjects { static void Main() { int i, j; // Fabrika yordamida ob'ektlarni shakllantirish. for(i=0, j=10; i < 10; i++, j --) { MyClass ob = MyClass.Factory(i, j); // ob'ekt yaratish ob.Show(); } Console.WriteLine() ; } } Dasturning ushbu versiyasida fabrika metodi Factory()quyidagi kod satrida sinf nomi bilan chaqiriladi. MyClass ob = MyClass.Factory(i, j); // ob'ekt yaratish Endi bu sinfda fabrikani ishlatishdan oldin MyClass sinfining ob'ektini yaratishga hojat yo'q.
2. Static konstruktorlar.
Konstruktorlarni ham staticdeb e'lon qilinishi mumkin. statickonstruktor, odatda, ushbu sinf ob'ektining alohida nusxasiga emas, balki butun sinfga qo'llaniladigan komponentlarni ishga tushirish uchun ishlatiladi. Shuning uchun, sinf a'zolari ushbu sinfning har qanday ob'ektlarini yaratishdan oldin statickonstruktor tomonidan initsalizatsiya qilinadi. Quyida static konstruktorni ishlatishga oddiy misol keltirilgan. // static konstruktorni qo'llash. using System; class Cons { public static int alpha; public int beta; // static konstruktor. static Cons() { alpha = 99; Console.WriteLine("Встатическомконструкторе.");