Cycle de progression Faire (quelque chose qui marche) -> comprendre ce que l’on fait/comment cela marche -> pousser plus loin les notions
| public class Product { private int _ProductID; public int ProductID { get { return _ProductID; } set { _ProductID = value; } } private string _ProductName; public string ProductName { get { return _ProductName; } set { _ProductName = value; } } private Decimal _UnitPrice; public Decimal UnitPrice { get { return _UnitPrice; } set { _UnitPrice = value; } } public Product() { } public Product(int ProductID,string ProductName,Decimal UnitPrice) { this.ProductID = ProductID; this.ProductName = ProductName; this.UnitPrice = UnitPrice; } public static Decimal operator +(Product p1,Product p2) { return p1.UnitPrice + p2.UnitPrice; } public static Decimal operator -(Product p1, Product p2) { return p1.UnitPrice + p2.UnitPrice; } } |
| private void button1_Click(object sender, EventArgs e) { Product p1 = new Product(1, "Chai", 18); Product p2 = new Product(1, "Chang", 19); Decimal result = p1 + p2; MessageBox.Show(result.ToString()); } |
| // exemple avec le type int public static implicit operator int(intNullable i) { return i.Value; } public static explicit operator intNullable(int i) { return new intNullable(i); } // avec les generics public static implicit operator T?(T value) { return new T?(value); } public static explicit operator T(T? value) { return value.Value; } |