CA1017:以 ComVisibleAttribute 標記組件
型別名稱 |
MarkAssembliesWithComVisible |
CheckId |
CA1017 |
分類 |
Microsoft.Design |
中斷變更 |
中斷 |
原因
組件沒有套用 ComVisibleAttribute 屬性 (Attribute)。
規則描述
ComVisibleAttribute 屬性會判斷 COM 用戶端如何存取 Managed 程式碼。良好的設計會要求組件明確表示 COM 的可視性。COM 的可視性可以針對整個組件進行設定,然後針對個別型別及型別成員進行覆寫。如果屬性不存在,則 COM 用戶端可以看到組件的內容。
如何修正違規
若要修正此規則的違規情形,請將屬性加入至組件。如果您不想讓 COM 用戶端看到組件,請套用屬性並將值設為 false。
隱藏警告的時機
請勿隱藏此規則的警告。如果您想讓組件看得見,請套用屬性並將值設為 true。
範例
下列範例會顯示已套用 ComVisibleAttribute 屬性,以防止 COM 用戶端看到的組件。
Imports System
<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
using System;
[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}
using namespace System;
[assembly: System::Runtime::InteropServices::ComVisible(false)];
namespace DesignLibrary {}