בהמשך לפעמים הקודמות, נניח שהגדרנו Fluent Syntax חביב ויצרנו Extension Method מתאים לאובייקט שלנו כדי שהמשתמשים שלנו יוכלו להשתמש בו.
למרבה הצער, למשתמשים עדיין מופיעות כל מיני פונקציות לא קשורות שנובעות מהמחלקה Object:
|
|
כמובן, איננו יכולים למנוע מהמשתמש לקרוא לפונקציות אלה, אך אנחנו יכולים לגרום להן לא להופיע בIntellisense: 😃
ניצור ממשק
|
|
הAttribute ששמו EditorBrowsable מציין האם מתודה או Property יוצגו בEditor.
כעת אם נירש מהממשק הזה:
|
|
לא יוצגו המתודות האלה יותר בIntellisense.
הפאץ’ הזה לקוח מתוך Ninject. הוא מיוחס לDaniel Cazzulino.
סייגים: (כדי שלא תגידו שהטיפ היומי הוליך אתכם שולל)
בתוך הSolution של הפרויקט עצמו דווקא כן נראה את המתודות האלה,
אבל אם נוסיף Reference לפרויקט שלנו מפרויקט אחר, לא נראה אותן.
בנוסף, אם מותקן לכם ReSharper, הוא כן יציג לכם את המתודות האלה 😃
סוף שבוע צף טוב!