دورة سي شارب С# Course

Tuesday, September 2, 2014

سي شارب- الدرس التاسع عشر- generic

فيديو 68-69
namespace_19 {
class program {

public void print(int x)
{
Console.WriteLine("Good");
}

public void print(string x)
{
Console.WriteLine("Good");
}

// الدالتين اللي فوق هما متشابهتين فقط باختلاف نوع الباراميتر اللي راح يستقبلوه ،بالتالي انا ممكن احذف هاتين الدالتين وأعوض عنهما بدالة جديدة من نوع static وانادي عليها في ال main باسم الكلاس
// Generic Function

public void print <T>(T c)
// T ترمز لأي داتا تايب 
{
Console.WriteLine("Good");
Console.WriteLine(typeof(T));
// معناها اطبعلي شو نوع الدااتا تايب
}

static void Main(string[] args)
{
print(5);
// هون النوع Int32
print("Ahmed");
//هون النوع string
}

}}



// Generic Class

// هاي الفكرة كتير مهمة في الشغل لانه بتوفر علي بكتابة الكود ، لما يكون عندي أكتر من constructor لأكتر من نوع داتا تايب ، هون انا بختصرها


static void Main(string[] args)
{
point<int> p= new point<int>(5);
// لازم احدد نوع ال object جنب اسم الدالة ، هون من نوع int .
// طبعا حيروح على الConstroctor على طول
point <string> x=new point<string>("Ahmed");
// هون من نوع string
}

class point<T>
{
T sum;
// عرفنا object من نوع T بيقبل أي نوع من البيانات



// Constructor of class point<T>

public point(T x) 
//خود object من T اسمه x
// Object T يعني بيقبل أي نوع بيانات
{
Console.WriteLine("x");
}

}
}


No comments:

Post a Comment