Packaging and zipping from code

30 באוקטובר 2012

כתבתי לא מזמן על דרך ליצר zip מקוד, אחד החסרונות של הקוד בפוסט הקודם הוא שזה עובד רק עם קבצים פיזיים, בפוסט זה נכיר דרך אחרת ומעניינת. כדי להתחיל יש להוסיף Reference ל – WindowsBase.dll. נניח שיש לנו אובייקט Person שמכיל מידע שנרצה לסרלז ל – xml וחלק מהמידע לשמור בבינארי, כמובן שנצטרך שני קבצים, אבל נרצה לייצר קובץ zip אחד שישמור את שני הקבצים. בפוסט זה לא נראה את הקוד של הסרליזצייה, תוכלו לקרוא את הפוסט על ה – xml ואת הפוסט על הבינארי או להוריד...
תגיות: ,
2 תגובות

XmlSerializer and \r\n

28 באוקטובר 2012

נניח שיש לכם קוד שיודע לקחת אובייקטים ולשפוך אותם לקובץ xml. private static void Serialize() {     Message messages =     {         new Message(){Id = 1, Text = "Shlomo Goldberg"},         new Message(){Id = 2, Text = "abcdefg\r\n12345678"}, ...
תגיות: , ,
אין תגובות

BinaryFormatter – Unable to find assembly

26 באוקטובר 2012

הקוד להעביר אובייקט סרליזציה בינארית הוא די פשוט public static void SerializeToBinary(Stream stream, object graph) {     BinaryFormatter formatter = new BinaryFormatter();     formatter.Serialize(stream, graph); } לכאורה כדי לעשות דיסרליזציה ולקרוא את התוכן, נכתוב קוד כזה: ...
תגיות: ,
אין תגובות

משימה שנייה עם (2) knockout

22 באוקטובר 2012

כתבתי כיצד מתחילים לעבוד עם knockout, בפעם הזאת נראה דוגמא קצת יותר מתקדמת. נגדיר את המשימה הבאה: דף שבו המשתמש יכול להכניס ID של משתמש, לקבל את השם והגיל, לעדכן אותם ולשלוח בחזרה לשרת. הדף יראה כך:   נחשוב לרגע על קוד רגיל שהיינו כותבים. היינו נרשמים לאירוע change של תיבת הטקסט הראשונה, שולחים את ה – Id לשרת, בצד השרת נחזיר אובייקט Person ללקוח, בצד הלקוח נעבור על המאפיינים, נדאג להכניס אותם לתיבות הטקסט, ולאחר מכן...
תגיות: , , , , , , , ,
אין תגובות

More visual studio events inside vs plugin

19 באוקטובר 2012

כל בר בי בר בעולם הפיתוח של תוספות ל – visual studio מכיר את המחלקה Events של ה – DTE (דרך אגב ניתן לעשות לו casting לאובייקט מסוג Event2 בו יש עוד אירועים כמו BuildEvents ואחרים. הקוד יראה כך: DTE2 dte2 = (DTE2)dte; Events2 events = (Events2)dte.Events;   עוד אירועים נוכל לקבל על ידי קבלת אובייקט VSProject2...
תגיות: , , ,
אין תגובות

Get opened WindowFrame in visual studio and close it

13 באוקטובר 2012

נניח שנרצה לקבל את כל החלונות הפתוחים ב – Visual Studio ולעשות עליהם פעולות (בדוגמא כאן – לסגור אותם) חלונות פתוחים – הכוונה לחלנות כמו Properties, Error List וכדומה. (הקוד רץ כאן בתוך Visual Studio Plug-In) נוכל להריץ את הקוד הבא:   IEnumWindowFrames frames; var provider = ServiceProvider.GlobalProvider;   ...
תגיות: , ,
תגובה אחת

How do I get the current Project Template

10 באוקטובר 2012

לאחרונה ננתקלתי בבעייה מעניינת, כתבתי AddIn ל – Visual Studio, ונרשמתי לאירוע של הוספת פרוייקט, הקוד עד כאן הוא מאוד פשוט, צריך ליצור פרוייקט מסוג Visual Studio Add In ולעבור את כל ה – Wizard. לאחר מכן במתודת OnConnection יש לכתוב את הקוד הבא: public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) {     _applicationObject = (DTE2)application; ...
אין תגובות

Get solution name from DTE object

3 באוקטובר 2012

  בזמן כתיבת addin מסוג כלשהו ל – visual studio, ייתכן שנרצה לדעת את שם ה – solution. אמנם יש לו מאפיין FileName, FullName שמגיעים אליהם בצורה הבאה: VisualStudio.Solution.FullName בהנחה ש – VisualStudio הינו מופע של DTE. אך שני המאפיינים הללו מחזירים את שם הקובץ, כדי לקבל את שם ה – solution עצמו, נוכל לכתוב את הקוד הבא: ...
תגיות: , ,
אין תגובות