בהמשך להסבר איך דורסים את האופרטורים הרגילים, נראה כאן איך אפשר לממס אופרטרים של casting - למה הכוונה, נניח שיש את המחלקה הבאה
כל פעם שנרצה לייצר מופע נצרך לכתוב כך:
class Dolar
{
public int Value { get; set; }
{
public int Value { get; set; }
public Dolar(int value)
{
Value = value;
}
}
כל פעם שנרצה לייצר מופע נצרך לכתוב כך:
Dolar d1 = new Dolar(50);
למעשה יש דרך שבה נוכל לכתוב כך
Dolar d1 = 50;
וזה בעזרת מימוש implicit operator, נוסיף למחלקה את הקוד הבא
ולמעשה השמה של מספר למופע של Dolar יקרא לפונקצייה הזאת.
public static implicit operator Dolar(int value)
{
return new Dolar(value);
}
{
return new Dolar(value);
}
ולמעשה השמה של מספר למופע של Dolar יקרא לפונקצייה הזאת.
אנחנו יכולים גם להגדיר explicit operator במקרים שאנחנו חוששים לאיבוד מידע
long l = 50;
Dolar d2 = (Dolar)l;
במקרה הזה יתכן שיש במשתנה מספר גדול יותר מ - int ואנחנו רוצים לוודא שהמשתמש יודע מה הוא עושה, ולכן נכתוב
Read more: שלמה גולדברג