۱۳۹۰/۰۷/۰۵

اضافه كردن كامنت جهت فضاهاي نام


در مورد «درست كردن فايل راهنماي CHM از توضيحات XML يك پروژه» پيشتر مطلبي در اين سايت منتشر شده است. تمام اين‌ها هم خوب! اما فايل راهنماي نهايي توليدي يك ايراد مهم دارد. Sandcastle Help File Builder نياز دارد كه به ازاي هر فضاي نامي كه در پروژه‌ي شما وجود دارد، يك summary و توضيح هم ارائه شود؛ در غير اينصورت خطاي قرمز رنگ زير را در ابتداي صفحه معرفي كلاس‌هاي يك فضاي نام، نمايش خواهند داد:


[Missing <summary> documentation for "N:Some.Test"]

از آنطرف كامپايلرهاي مورد استفاده چنين توضيحاتي را قبول ندارند و نمي‌توان براي فضاهاي نام، توضيحاتي را همانند كلاس‌ها يا متدها، ارائه داد. براي حل اين مشكل، يك راه حل ساده وجود دارد: به ازاي هر فضاي نامي كه در پروژه وجود دارد، يك كلاس خالي را به نام "NamespaceDoc" به پروژه اضافه كنيد. مثلا:

namespace Some.Test
{
    /// <summary>
    /// The <see cref="Some.Test"/> namespace contains classes for ....
    /// </summary>

    [System.Runtime.CompilerServices.CompilerGenerated]
    class NamespaceDoc
    {
    }
}

به اين ترتيب توضيحاتي كه ملاحظه مي‌كنيد توسط Sandcastle Help File Builder مورد استفاده قرار خواهد گرفت و آن اخطارهاي قرمز رنگ عدم وجود توضيحات مرتبط با فضاهاي نام، از فايل توليدي نهايي حذف خواهند شد.

روش دوم:
در خود برنامه Sandcastle Help File Builder، در قسمت Project Properties > Comments > NameSpaceSummaries، امكان وارد كردن توضيحات فضاهاي نام نيز وجود دارد. (كه آنچنان جالب نيست؛ بهتر است همه چيز يكپارچه باشد.)