Browse by Tags
All Tags »
Generic (
RSS)
אחד מהיכולות החזקות של השפה שאנחנו משתמשים בהם רבות זהו היכולת להפעיל Linq to Objects על כל מי שמממש את: IEnumerable<T> ב - windows forms ישנם הרבה פקדים המכילים collections - כמו TabControl, TreeView ועוד. הבעייה עם כל הפקדים הללו שהם חושפים את IEnumerable הרגיל, (ללא T) מה שגורם לכך שאי אפשר להפעיל עליהם שאילתות לינק. כדי לתקן זאת ניתן להוסיף Extension Method מתאים לכל פקד ולהמיר את ה - IEnumerable לאחד שתומך ב - Generic, לדוגמא: internal static class Extension { internal static IEnumerable...
אני משתמש די בקביעות עם שני extensions ל - string, וחשבתי לשתף אותם. הראשון: בדיקה האם מחרוזת אינה null או ריקה בדרך כלל מתבצעת בצורה הבאה string str; if (! string .IsNullOrEmpty(str)) { } היה הרבה יותר נחמד לולא היינו יכולים לשאול על ה - str - אבל מה לעשות שאולי ה - str הינו null (וזה שאלה מכשילה). השני: המרה ממחרוזת ל - enum מתבצעת בדרך כלל ככה: enum NyEnum { One, Two } NyEnum data = ( NyEnum ) Enum .Parse( typeof ( NyEnum ), "One" ); ולכן כתבתי את המחלקה הבאה: namespace System { public...
בהמשך לפוסט שהראה איך לקבל ערכי ברירת מחדל עבור עמודות שיכולות להיות NULL בבבסיס הנתונים. שלח לי חבר יקר ( בניהו) את ההצעה הבאה: public static T GetValueOrDefault<T>( this DbDataReader reader, int index) { if ( Convert .IsDBNull(reader[index])) { return default (T); } return (T)reader[index]; } public static T GetValueOrDefault<T>( this DbDataReader reader, string name) { if ( Convert .IsDBNull(reader[name])) { return default (T); } return (T)reader[name]; }