המדריך לטרמפיסט בגלקסיה של הגיקים חלק חמישי

28 בApril 2014

הפעם במדריך על הוספת Code-Snippet דרך Visual Studio ועל איזור דמדומים שבין Internal Class ו Public Class

הוספת “סניפטים” לתוך סביבת הפיתוח זה אחד הדברים המגניבים בהחלט ששווה לנסות.

סניפטים למי שפספס זה כמו ללחוץ TAB TAB לאחר כתיבת המילה for או הכי מפורסם TAB TAB לאחר כתיבת cw בסביבת קונסול.

אז למה שלא ננסה אחד משלנו? נניח ובתחילת כל מסמך קוד אתם רוצים להוסיף :

“written by the one and the only XXX ”

ואז במקום לכתוב את הרצף הזה בכל פעם נרצה נניח להקיש wr ואז TAB TAB והצירוף הזה יופיע..

השלבים בהם ננקוט כדי להגשים את הפנטזיה.

א.

נפתח מסמך XML, ונדאג לשנות את סיומת הקובץ ל.snippet לדוגמא Demo.snippet

ב.

בתוך המסמך צריך סקריפט כזה:

<?xml version="1.0" encoding="utf-8"?>

<CodeSnippets

    xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">

    <CodeSnippet Format="1.0.0">

        <Header>

            <Title>debugSnippet</Title>

        </Header>

        <Snippet>

            <Code Language="CSharp">

           <![CDATA][//"written by the one and the only XXX "]>

            </Code>

        </Snippet>

    </CodeSnippet>

</CodeSnippets>

שימו לב לשפת הפיתוח ! ולקטע הקוד שמופיע פה בצורת הערה. זה בעצם טקסט כלשהו שאנחנו מספקים. כמובן שחובתנו לדאוג לתקינות הקוד בהתאם לשפה המדוברת.

ג.

בתפריט של VS תחת : Tools > Code Snippet Manager > Import

דפדף אל הקובץ שלך ובחר בהוספה ושים לב שאן הוא נכנס. ברירת מחדל תהיה תיקיית MySnippet, וזה נתון לשינוי.

ד.

קיצורי מקלדת:

חלק מרכזי , אם לא הכי מגניב זה קיצור המקלדת שמפעיל את הסניפט. אגב זה לא חובה כי ניתן להוסיף סניפטים דרך מקש ימני בזמן כתיבת קוד ואז לבחור ב insert snippet ותקבלו את כל הרשימה הזמינה, בכל מקרה שימו לב שבתוך קוד הXML ישנו אזור שמתאר Header .

בתוכו נשתול <Shortcut>wr</Shortcut> : , החלק של הTAB TAB מגיע בחינם ולא צריך להגדיר שזה קיצור המקלדת שלנו כי זה ברירת המחדל של קוד סניפטים, כל שצריך לבחור זה איזה אות או אותיות מגיעות לפני TAB TAB.

זהו, נסו ותהנו.

ולטיפ גדול שיקדם את המקצוענות שלכם:

כל סטודנט לתכנה לומד על ההבדל שבין Internal לבין public

חלק טכני שנכנס לעניין הוא שאם נרצה לגשת מ אסמבלי אחד לקלאסים שמוגדרים באסמבלי אחר, נהיה מוכרחים להגדירם תחת public.

עכשיו מה אם נגלה לכם שיש דרך נוספת להשתמש בקלאסים של ספרייה אחרת שהם מוגדרים כ Internal ?

ניגש לDLL (DLL, אסמבלי, ספריה זה אותו הדבר לצורך העניין) ובתפריט הראשי של ה Solution Explorer נשים לב שלכל DLL יש Properties. עכשיו נרחיב את ה properties ונגלה קלאס מעניין שעונה לשם AssemblyInfo.

בפנים יש כל מיני קונפיגורציות נחמדות שמשפיעות על תהליך הבנייה של הפרוייקט.

בגדול זה למבינים בלבד וזה גם לא הנושא כרגע, מה שכן נגש לשורה האחרונה ונוסיף שם את השורה הבאה:

[assembly: InternalsVisibleTo(“XXX”)]

XXX מבחינתי זה שם האסמבלי אליו נרצה לחשוף את הקלאסים שלנו שמוגדרים כ Internal.

אנחנו בעצם מרוויחים עוד רמה של Object Oriented וזה סוג של חצי public חצי internal

מה שמזכיר מאוד Protected internal בהקשר אחר.

זהו בינתיים. עצות רעיונות וסיפורי מעשיות מעולמם של הטרמפיסטים יתקבלו בברכה..

הוסף תגובה
facebook linkedin twitter email

Leave a Reply

Your email address will not be published. Required fields are marked *

2 תגובות

  1. רונן בלחסן29 בApril 2014 ב 12:35

    נחמד מאוד . תודה רבה

    Reply
  2. אליעזר25 בJune 2014 ב 21:43

    תודה רבה!
    מ”מ נ”ל שיש טעות בסוגריים, בשורה של הכנסת הקוד עצמו.
    וצ”ל כך (למשל):

    Reply