Browse by Tags
All Tags »
Optional Parameters (
RSS)
נראה לי שדי סיכמתי את החידושים ב - C# 4.0, אמנם יש עוד כמה חידושים אבל הם פחות מרכזיים אז חשבתי שכדאי לכתוב תוכן עניינים, ובמידה ויצא לי לכתוב על שאר החידושים אני אעדכן את הפוסט הזה. אני מאוד מקווה שנהניתם מסדרת הפוסטים הזאת. תוכן העניינים: C# 4.0 Part 1 - First glance on the dynamic - בפרק זה נכיר לראשונה את המושג dynamic ונראה כמה דוגמאות פשוטות ושימושיות. C# 4.0 Part 2 - The GetCalculator program - פרק זה ידגים גישה על ידי dynamic למחשבון שנכתב ב - net ומחשבון שנכתב ב - JS עטוף באובייקט COM. C#...
ל - Optional Parameters יש בעיה אחת קטנה. static void Add( int id, string name = "shlomo" , float age = 0) { } static void Main() { Add(22, ,24); } זה לא מתקמפל וכמובן מאוד לא ברור. ולכן המציאו את ה - Name Parameters. static void Main() { Add(22, age: 24); } גם עבור פרמטרים שהם חובה ניתן לשלוח עם השם: static void Main() { Add(id: 22, age: 24); } זה גורם שהקוד שלנו יהיה יותר קריא. אבל צריך להיות זהירים עם השימוש ב - Named Parameters. (פוסט מומלץ לקריאה - כאן ). החל מ - C# 4.0 אסור לשנות...
פספסתי את הפוסט של מוצאי שבת, (אולי אני אכתוב היום שניים). בכל מקרה אנחנו רוצים לדעת מה קורה מאחורי הקלעים כשמשתמשים ב - Optional Parameters. למעשה מייקרוסופט משתמשים בשני Attributes שקיימים כבר המון זמן. הראשון הוא - System.Runtime.InteropServices.OptionalAttribute והשני הוא - System.Runtime.InteropServices.DefaultParameterValueAttribute, למעשה הקוד הבא: static void Add( int id, string name = "" , float age = 0) { } מתרנדר לקוד הבא: static void Add( int id, [ Optional , DefaultParameterValue...
כמו שהבטחתי אני רוצה להדגים שימוש ב - Optional Parameters. הקוד הבא משתמש בבדיקת האיות של Word. public static void Main() { Application word = new Application (); object missingValue = Type .Missing; Document doc = word.Documents.Add( ref missingValue, ref missingValue, ref missingValue, ref missingValue); doc.Activate(); SpellingSuggestions suggestions = word.GetSpellingSuggestions( "placa" , ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref...
אחד מהתכונות החדשות של C# 4.0 היא Optional Parameters. למעשה - המצב עד היום שלא היה לנו את האופציה של פרמטרי רשות, הרגיל אותנו לכתוב קוד לא כל כך נכון, למה הכוונה - שימו לב לשני קטעי הקוד הבאים, הראשון - עושה overload למתודת Abs וקטע הקוד השני עושה overload למתודת Add. אז מה בכל זאת ההבדל ? public static class Math { public static decimal Abs( decimal value); public static double Abs( double value); public static float Abs( float value); public static int Abs( int value); public static long Abs(...