C++/WinRT 命名慣例
C++/WinRT 已建立下列命名慣例:
- winrt::impl 命名空間會保留給 C++/WinRT 使用,您不得在應用程式中使用它。
- 在 winrt 命名空間中,以小寫字母開頭的名稱屬於 C++/WinRT,但您可以在您的應用程式中使用這些名稱。 此文件會標註您可以多載或特殊化的名稱。 例如,您的應用程式可以將 winrt::is_guid_of 函式範本特殊化。
- 在 winrt 命名空間的子命名空間 (winrt::impl 除外) 中,您的應用程式可使用以大寫字母開頭的名稱。
- 在所有命名空間中,以 WINRT_IMPL_ 開頭的名稱會保留給 C++/WinRT 使用,您不得在應用程式中使用這類名稱。
- 在所有命名空間中,以 WINRT_ 開頭的名稱 (但以 WINRT_IMPL_ 開頭的名稱除外) 會保留給 C++/WinRT 使用。 您可以使用這類名稱,而文件會標註應用程式可能定義的名稱,例如 WINRT_LEAN_AND_MEAN。
應用程式通常會執行命名空間組合,並將 winrt 根命名空間的子命名空間匯入 winrt 根命名空間中:
namespace winrt
{
using namespace winrt::Windows::Foundation;
}
因此,您的應用程式應該在 winrt 命名空間的子命名空間中遵循上述命名慣例。
摘要如下。
Namespace | 名稱 | 應用程式可以定義 | 應用程式可以使用 |
---|---|---|---|
winrt::impl | 任何 | No | No |
winrt 和 sub-namespaces (impl 除外) | 以小寫字母開頭 | No | Yes |
winrt 和 sub-namespaces (impl 除外) | 以大寫字母開頭 | Yes | Yes |
任何 | WINRT_IMPL_* | No | No |
任何 | WINRT_* (WINRT_IMPL_* 除外) | 視情況而定 | Yes |