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 命名空间的子命名空间中遵循以上命名约定。
摘要如下。
命名空间 | 名称 | 应用可以定义 | 应用可以使用 |
---|---|---|---|
winrt::impl | 任意 | 否 | 否 |
winrt 和子命名空间(impl 除外) | 以小写字母开头 | 否 | 是 |
winrt 和子命名空间(impl 除外) | 以大写字母开头 | 是 | 是 |
任意 | WINRT_IMPL_* | 否 | 否 |
任意 | WINRT_*(WINRT_IMPL_*除外) | 根据具体情况 | 是 |