String extension – IsNullOrEmpty – ToEnum (Enum.Parse)

יום חמישי, ספטמבר 24, 2009

  אני משתמש די בקביעות עם שני 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 static class StringExtension     {         public static bool IsNullOrEmpty(this string value)         {             return string.IsNullOrEmpty(value);         }           public static T ToEnum<T>(this string value) ...
3 תגובות

הפעלת מתודות סטטיות באמצעות ScriptManager

יום ראשון, מאי 3, 2009

כדי להפעיל מתודות בצד השרת באמצעות ה ScriptManager, אפשר לכתוב WebService, או להפעיל מתודה סטטית בדף.   התהליך הוא מאוד פשוט:   1. הגדרה של מתודה סטטית בעמוד:    public static string Hello(string name) {     return "Hello " + name; }     2. להוסיף ScriptManager לעמוד ולהוסיף לו EnablePageMethods   <asp:ScriptManager ID="ScriptManager1"     runat="server" EnablePageMethods="true"> </asp:ScriptManager>      3. להוסיף פונקציה ב JS שתפעיל את המתודה בצד השרת    <script type="text/javascript">     function CallServer() {         PageMethods.Hello("shlomo", onSucsses, onFail);     }       function onSucsses(resalt) {         alert(resalt);     }       function onFail(err) {         alert(err);     } </script>     קל ופשוט.    ותודה לפיני הגאון שעזר לי לכתוב את הפוסט עריכה: לבקשת שחר אני מצרך את הדוגמא להורדה.
4 תגובות

Rasie events in static constractor ?

יום שישי, מרץ 27, 2009

  האם יש משמעות להרים events בתוך static cror ?   התשובה היא, לא!   מכיון שאין שוב מצב שמישהו יקבל את ההודעה שהאירוע התרחש,   בגלל ההנחות הבאות:   1. מתוך static ctor, אפשר לגשת אך ורק ל static events.   2. ה static ctor, יתרחש תמיד שנייה לפני השימוש הראשון ב static של ה class   3. ניסיון של רישום ל static events, יגרום להפעלת ה static ctor.   4. הרישום לאירוע, לא יקלט לפני סיום ה ctor.   ולכן אף פעם לא נוכל להרים אירוע מתוך ה static ctor.     הפיתרון היחיד שמצאתי היה, שמיד אחרי הרישום לאירוע הפעלתי בעצמי את המתודה, לדוגמא:   StaticClass.StaticEvent += StaticClass_StaticEvent; StaticClass_StaticEvent(null, null);   אם למישהו יש רעיון יותר טוב, אשמח לשמוע על זה.
תגיות: , ,
5 תגובות