根据 cppwinrt、迁移 C++... 的主文档,“设置 Windows 运行时属性值的等效 C++/WinRT 源代码调用与 Windows 运行时属性同名的方法以及新值的参数:
record.UserState(newValue); // Set the UserState property
Run Code Online (Sandbox Code Playgroud)
但是,当尝试设置 Duration 对象的 TimeSpan 属性时,这似乎不起作用:
TimeSpan ts = TimeSpan(6000000);
Duration duration = Duration();
duration.TimeSpan(ts);
Run Code Online (Sandbox Code Playgroud)
第三行在“duration”上产生一个智能感知错误:“调用类类型的对象,而没有适当的运算符或将函数转换为指针函数类型。” 同一行的构建错误是“Term 不计算为采用 1 个参数的函数”。我应该补充一点,Duration 的构造函数似乎有一个参数,即 TimeSpan,但这也不被接受。使用 cppwinrt 时如何设置 Duration 的 TimeSpan 属性?
请记住,在 C++/WinRT 中,它只是std::chrono::durationWindows::Foundation::TimeSpan的 typedef ,因此您可以使用 std::chrono 的有用功能。
直接初始化:
Duration duration{ std::chrono::milliseconds{ 100 }, DurationType::Automatic };
单独设置:
Duration duration{ };
duration.TimeSpan = std::chrono::milliseconds{ 100 };
| 归档时间: |
|
| 查看次数: |
1724 次 |
| 最近记录: |