DCSIMG
Generic - שלמה גולדברג (הרב דוטנט)

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

Browse by Tags

All Tags » Generic (RSS)
הפעלת Linq Queries על פקדים המכילים Collections ללא חשיפה של IEnumerable מתאים
אחד מהיכולות החזקות של השפה שאנחנו משתמשים בהם רבות זהו היכולת להפעיל Linq to Objects על כל מי שמממש את: IEnumerable<T> ב - windows forms ישנם הרבה פקדים המכילים collections - כמו TabControl, TreeView ועוד. הבעייה עם כל הפקדים הללו שהם חושפים את IEnumerable הרגיל, (ללא T) מה שגורם לכך שאי אפשר להפעיל עליהם שאילתות לינק. כדי לתקן זאת ניתן להוסיף Extension Method מתאים לכל פקד ולהמיר את ה - IEnumerable לאחד שתומך ב - Generic, לדוגמא: internal static class Extension { internal static IEnumerable...
String extension - IsNullOrEmpty - ToEnum (Enum.Parse)
אני משתמש די בקביעות עם שני 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...
DataReader.GetValueOrDefault --> Extension for Extension
בהמשך לפוסט שהראה איך לקבל ערכי ברירת מחדל עבור עמודות שיכולות להיות 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]; }