The Difference Between Equals and Static Equal

  כשהראתי לסטודנטים שאני מלמד את הפוסט של ספיריטוס שמדבר על ההבדלים בין Equal ל - ==,   שאלו אותי - מה ההבדל בין ה - Equal שיורשים מ - object לבין ה - Equal הסטטי ?   במחשבה ראשונה עניתי - שלמעשה הקריאה - Equal(obj1, obj2 מפעילה את obj1.Equal(obj2.   וכמובן שהשאלה הבאה הייתה, אז מה ההבדל ביניהם,   והתשובה הייתה נפתח את ה - reflector ונראה.   אז הנה הקוד של Equal   public static bool Equals(object objA, object objB) {     return ((objA == objB) ||         (((objA != null) && (objB != null)) && objA.Equals(objB))); }   למעשה קודם בודקים את האופרטור == ורק במקרה שזה החזיר false בודקים האם שניהם...
אין תגובות

Visual Studio is configuring fo the first time…

27 במאי 2009

אני מניח שכולם מכירים את החלון המעצבן הבא, כשאנחנו מפעילים את ה - VS בפעם הראשונה:     בדרך כלל אפשר לחיות איתו, אבל במחשבים ציבוריים, (כמו במכללות) כל פעם שמגיעים לכיתה חדשה, צריך לחכות וזה מעצבן.   היום נטליה פטרוב (סטונדטית בכיתה) גילתה טריק נהדר.   במקום לחכות עד שה - VS יואיל בטובו להיפתח, אפשר לתת לחלון את הזמן שלו לקנפג את ה - VS, ובמקביל להפעיל עוד פעם את - VS, ולהתחיל לעבוד.  
תגיות: ,
2 תגובות

כנס האקרים הישראלי – חלק ראשון

  קודם כל, תודה לאבי שעדכן אותנו על הכנס.   הגעתי בשעה 3:15, היה תור די גדול בעמדת ההרשמה, היינו אמורים להתחיל ב 4:30 בהרצאות, כנראה שעקב העומס, זה נדחה,   בשעה 4:45 (איחור סביר) נסגרו הדלתות, (ניסיתי לשמור לך מקום, אבי)   התחיל לדבר עו"ד יהונתן קלינגר על דמות ההאקר איך שהוא מוצג על ידי הוליווד, בסופו של ההרצאה יצאנו עם רשימת סרטים חדשים שלא ראינו שמציגות האקרים בפעולה.   לאחר מכן, דיבר יניב מירון (מארגן הכנס) על Steganography - שבסופו של דבר הצלחתי להבין שההבדל בין Steganography להצפנה, שבהצפנה ההאקרים יודעים שיש מידע אבל הוא בלתי קריא, וב - Steganography אף אחד לא יודע,   יניב גם הביא דוגמא...
תגיות: ,
4 תגובות

Delegate –> Anonymous Methods –> Lambda Expression

22 במאי 2009

  אנחנו מתקרבים בצעדי ענק ל - C# 4.0, אבל אני נתקל עדיין באנשים (בעיקר סטונדנטים במהלך הלימודים) שמחפשים דוגמא לשלושת האופציות להפעלת delegate.     אז ככה:   ב - 1.1, האופציה היחידה לשליחת מתודה ל - delegate, היתה לכתוב מתודה ולתת אותה אותה כפרמטר ל - delegate,   דוגמא ראשונה:           List<int> list = new List<int>();         private int tmp;           public int Function1(int item)         {             tmp = item;             return list.Find(new Predicate<int>(FindItem));         }           private bool FindItem(int item)         {             return item == tmp;         }   אמנם ב - 1.1 היה קיים רק ArrayList, אבל הרעיון הוא...
2 תגובות

CustomValidator part 2 (CustomValidator and ValidatorCallout)

20 במאי 2009

  בהמשך לפוסט על CustomValidator, אז כמו שהבטחתי, נדבר גם על השילוב בינו לבין ValidatorCallout.   ה - ValidatorCallout הוא אחד מהתוספות המעניינים של ajax, הוא מאפשר להציג את הודעת השגיאה בצורה יפה ונוחה.   מה שצריך לעשות, זה לשייך את ה - targetControlID ל - Validator הספציפי.   הבעייה מתחילה כשאנחנו מצמידים ל - ValidatorCallout את ה - CustomValidator.   במקרה הזה במדה ונגדיר שהבדיקה תהיה רק בצד השרת, אנחנו נהיה בבעיה, כי במקרה כזה ה - CustomValidator לא מרונדר בכלל לדף, וה - ValidatorCallout מחפש את ה - Validator והוא לא מוצא אותו.   הפיתרון הוא פשוט, להגדיר EnableClientScript כ - true, (אין צורך לתת פונקציה - אלא...
אין תגובות

CustomValidator Part 1

19 במאי 2009

  יצא לי לא מזמן, לייצר CustomValidator, יחד עם ValidatorCallout של ajax,   יש עם זה כמה בעיות, ופתרתי אותם, אז כמובן שצריך לכתוב פוסט על זה,   אבל חשבתי שלפני שאכתוב פוסט על הבעייה הספציפית, אולי שווה לכתוב פוסט על ה CustomValidator.     השימוש בשאר ה - validators הוא די פשוט, גוררים את ה - validator לדף, נותנים ערך ל - ControlToValidate, במידת הצורך גם לעוד מאפיין, (כמו ContrloToCompare ב - CompareValidator, או ValidationExpression עבור RegularExpressionValidator מגדירים את המאפיין EnableClientScript, שמגדיר האם לבצע את הבדיקה גם בצד הלקוח (ברוב במוחץ של המקרים זה צריך להיות מסומן כ - true)   וזהו.   השימוש ב CustomValidator, הוא טיפ טיפה...
2 תגובות

CompareValidator Required RequiredFieldValidator

18 במאי 2009

  נניח שיש לכם את הקוד הבא:   <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>   <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator"     ControlToValidate="TextBox1"></asp:RequiredFieldValidator> <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="CompareValidator"     ControlToValidate="TextBox2" ControlToCompare="TextBox1">   שני תיבות טקסט.   RequiredFieldValidator על התיבה הראשונה   ו CompareValidator על תיבת הטקסט השנייה.   נניח שנכניס ערך כלשהו לתיבת הטקסט הראשונה, ולא נכניס שום ערך לתיבת הטקסט השנייה. כשננסה לרוץ לשרת, נצפה לכאורה לקבל הודעת שגיאה שהערכים של שני תיבות הטקסט לא מתאימים, לא ?   אז התשובה היא שלא נקבל שום הודעת שגיאה,   רק במידה ונכניס ערך שונה לתיבת הטקסט השנייה מהערך של תיבת הטקסט הראשונה, נקבל את ההודעה של ה CompareValidator.     הפיתרון הוא פשוט, להוסיף גם RequiredFieldValidator עבור תיבת הטקסט השנייה.     אבל כשאני רואה כאלו דברים, אני חייב להבין...
5 תגובות

Change network computers windows credentials

13 במאי 2009

  כשאנחנו מחברים את המחשב שלנו לדומיין, מערכת ההפעלה מזהה את המחשבים שמחוברים לדומיין, כשאנחנו מנסים להפעיל אותם, במידה ואין הרשאות, מערכת ההפעלה תקפיץ חלון דומה לזה:       הבעייה עם החלון הזה, שבמידה ונסמן Remember, כשניכנס פנימה, יכול מאוד להיות שנמצא תיקיות, שאין לנו הרשאות.   כשנירצה לשנות את ה user שאיתו אנחנו נכנסים, נגלה שאין קליק ימין ולבחירה כמו Change user   כדי לשנות את ההגדרה עבור כל אלו שמוגדרים ב Remember.   יש להיכנס ל Control Panel --> User Accounts --> Manager your credentials  שם נוכל לשנות/למחוק סיסמאות שהוגדרו כ Remember.
אין תגובות