using System;
using System.Collections.Generic;//generic sınfılar için eklemek zorundayız
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class hacim<tip>//hacim adında generic sınıf oluşturuyoruz.(tip ini biz main kısmında belirleyeceğiz.)
{
public int yukseklik;//kullanıcı kendisi yüksekliği belierleyecek
public double hacim_bul()
{
double son;
Type yenitip=typeof(tip);//main kısmında belirttiğimiz tip türünden yeniTip adında yeni bir değişken oluşturuyoruz.
if (yenitip.Name == “Kare”)//tip oluşturulurken main kısmında verilen nesne adı Kare ye eşitse
{
son = kare.alan() * yukseklik;//kare sınıfnın alan metodunun sonucunun(return ile dönen değeri) * main kısmında belirlediğimiz yükskelik ile çarp
}
else
son = ucgen.alan() * yukseklik;
return son;//ekrana bulunan sonuç son değişkeniş ile gönderildi
}
}
public class ucgen
{
public static int kenar = 10;
public static double alan()
{
double sonuc = kenar * kenar;
return sonuc;
}
}
public class kare
{
public static int kenar = 5;
public static double alan()
{
double sonuc = kenar * kenar;
return sonuc;
}
}
class Program
{
static void Main(string[] args)
{
hacim<int> Kare = new hacim<int>();//Kare adında nesnesini oulşturduk
Kare.yukseklik = 12;//yukseklik fieldine 12 atadık.
Console.WriteLine(“Karenin Hacmi: “ + Kare.hacim_bul());
hacim<int> Ucgen = new hacim<int>();
Ucgen.yukseklik = 10;
Console.WriteLine(“Üçgenin Hacmi: “ + Ucgen.hacim_bul());
Console.ReadLine();
}
}
}