当前位置: 首页 > news >正文

门户网站建设情况说明wordpress 商用

门户网站建设情况说明,wordpress 商用,织梦cms如何搭建网站,专题网站开发工具有哪些跨 ABI 的简单信号 如果无需连同事件传递任何形参或实参#xff0c;则可以定义自己的简单 Windows 运行时委托类型。 以下示例展示 Thermometer 运行时类的更简易版本。 它声明名为 SignalDelegate 的委托类型#xff0c;然后使用该类型来引发信号类型事件#xff0c;而不是…跨 ABI 的简单信号 如果无需连同事件传递任何形参或实参则可以定义自己的简单 Windows 运行时委托类型。 以下示例展示 Thermometer 运行时类的更简易版本。 它声明名为 SignalDelegate 的委托类型然后使用该类型来引发信号类型事件而不是具有参数的事件。 // ThermometerWRC.idl namespace ThermometerWRC {delegate void SignalDelegate();runtimeclass Thermometer{Thermometer();event ThermometerWRC.SignalDelegate SignalTemperatureIsBelowFreezing;void AdjustTemperature(Single value);}; }// Thermometer.h ... namespace winrt::ThermometerWRC::implementation {struct Thermometer : ThermometerTThermometer{...winrt::event_token SignalTemperatureIsBelowFreezing(ThermometerWRC::SignalDelegate const handler);void SignalTemperatureIsBelowFreezing(winrt::event_token const token);void AdjustTemperature(float deltaFahrenheit);private:winrt::eventThermometerWRC::SignalDelegate m_signal;float m_temperatureFahrenheit{ 0.f };}; }// Thermometer.cpp ... namespace winrt::ThermometerWRC::implementation {winrt::event_token Thermometer::SignalTemperatureIsBelowFreezing(ThermometerWRC::SignalDelegate const handler){return m_signal.add(handler);}void Thermometer::SignalTemperatureIsBelowFreezing(winrt::event_token const token){m_signal.remove(token);}void Thermometer::AdjustTemperature(float deltaFahrenheit){m_temperatureFahrenheit deltaFahrenheit;if (m_temperatureFahrenheit 32.f){m_signal();}} }// App.cpp struct App : implementsApp, IFrameworkViewSource, IFrameworkView {ThermometerWRC::Thermometer m_thermometer;winrt::event_token m_eventToken;...void Initialize(CoreApplicationView const ){m_eventToken m_thermometer.SignalTemperatureIsBelowFreezing([] { /* ... */ });}...void Uninitialize(){m_thermometer.SignalTemperatureIsBelowFreezing(m_eventToken);}...void OnPointerPressed(IInspectable const , PointerEventArgs const args){m_thermometer.AdjustTemperature(-1.f);...}... }; 项目中的参数化委托、简单信号和回调 如果所需事件是 Visual Studio 项目内部的未跨二进制文件而在内部这些事件不限于 Windows 运行时类型则仍可使用 winrt::eventDelegate 类模板。 请直接使用 winrt::delegate 而不是实际的 Windows 运行时委托类型因为 winrt::delegate 也支持非 Windows 运行时参数。 以下示例先显示不采用任何参数的委托签名本质上即简单信号然后显示采用字符串的委托签名。 如果所需事件是 Visual Studio 项目内部的未跨二进制文件而在内部这些事件不限于 Windows 运行时类型则仍可使用 winrt::eventDelegate 类模板。 请直接使用 winrt::delegate 而不是实际的 Windows 运行时委托类型因为 winrt::delegate 也支持非 Windows 运行时参数。 以下示例先显示不采用任何参数的委托签名本质上即简单信号然后显示采用字符串的委托签名。 winrt::eventwinrt::delegate signal; signal.add([] { std::wcout LHello, ; }); signal.add([] { std::wcout LWorld! std::endl; }); signal();winrt::eventwinrt::delegatestd::wstring log; log.add([](std::wstring const message) { std::wcout message.c_str() std::endl; }); log.add([](std::wstring const message) { Persist(message); }); log(LHello, World!); 注意如何向事件添加尽可能多的订阅委托。 但会产生一些与事件相关的开销。 如果只需仅具有一个订阅委托的简单回调则你可以独立使用 winrt::delegate…T。 winrt::delegate signalCallback; signalCallback [] { std::wcout LHello, World! std::endl; }; signalCallback();winrt::delegatestd::wstring logCallback; logCallback [](std::wstring const message) { std::wcout message.c_str() std::endl; }f; logCallback(LHello, World!); 可延迟事件 Windows 运行时中的常见模式是可延迟事件。 事件处理程序通过调用事件参数的 GetDeferral 方法采用延迟。 这样做会向事件源指示应推迟事件后活动直到延迟完成。 这允许事件处理程序执行异步操作以响应事件。 winrt::deferrable_event_args 结构模板是一个帮助程序类用于实现生成Windows 运行时延迟模式。 下面是一个示例。 // Widget.idl namespace Sample {runtimeclass WidgetStartingEventArgs{Windows.Foundation.Deferral GetDeferral();Boolean Cancel;};runtimeclass Widget{event Windows.Foundation.TypedEventHandlerWidget, WidgetStartingEventArgs Starting;}; }// Widget.h namespace winrt::Sample::implementation {struct Widget : WidgetTWidget{Widget() default;event_token Starting(Windows::Foundation::TypedEventHandlerSample::Widget, Sample::WidgetStartingEventArgs const handler){return m_starting.add(handler);}void Starting(event_token const token) noexcept{m_starting.remove(token);}private:eventWindows::Foundation::TypedEventHandlerSample::Widget, Sample::WidgetStartingEventArgs m_starting;};struct WidgetStartingEventArgs : WidgetStartingEventArgsTWidgetStartingEventArgs,deferrable_event_argsWidgetStartingEventArgs// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^{bool Cancel() const noexcept { return m_cancel; }void Cancel(bool value) noexcept { m_cancel value; }bool m_cancel false;}; } 下面是事件接收方使用可延迟事件模式的方式。 // EventRecipient.h widget.Starting([](auto sender, auto args) - fire_and_forget {auto deferral args.GetDeferral();if (!co_await CanWidgetStartAsync(sender)){// Do not allow the widget to start.args.Cancel(true);}deferral.Complete(); }); 作为事件源的实现者生成者从 winrt::deferrable_event_args 派生事件 args 类。 deferrable_event_argsT 为你实现 T::GetDeferral。 它还公开新的帮助程序方法 deferrable_event_args::wait_for_deferrals该方法在所有未完成的延迟完成后完成如果没有延迟要执行则会立即完成。 // Widget.h IAsyncOperationbool TryStartWidget(Widget const widget) {auto args make_selfWidgetStartingEventArgs();// Raise the event to let people know that the widget is starting// and give them a chance to prevent it.m_starting(widget, *args);// Wait for deferrals to complete.co_await args-wait_for_deferrals();// Use the results.bool started false;if (!args-Cancel()){widget.InsertBattery();widget.FlipPowerSwitch();started true;}co_return started; }
http://www.hkea.cn/news/14587503/

相关文章:

  • 上海建筑 公司网站免费网站建站塔山双喜
  • 设计本官方网站下载上海网站jianshe
  • 网站广告赚钱吗哪些网站可以做兼职设计师
  • asp简单的网站怎么做广告设计公司深圳品牌设计公司
  • 怎么让人搜索到自己做的网站自助建站哪个网站好
  • 东莞市建设安监局网站四川网站制作
  • 郑州市做网站公司a汉狮做网站镜像
  • 青岛市城市建设投标网站深圳专业网站设计公司
  • 网站开发需要2个月吗国内大型餐饮网站建设
  • 做程序教程网站赚钱吗WordPress手机网页登录代码
  • 公司网站可以用个人备案吗搜索引擎网络推广公司上海
  • 学做电商那个网站好ps个人网站制作流程
  • 学校网站建设工作如何做网站管理
  • 肇庆做网站哪家好两学一做专题教育网站
  • 网站空间费1年1200公司网站开发策略和基本步骤
  • 百度网站评级关于网站运营的问题
  • 建立一个商城网站上海专业的网站建设
  • 如何建设好高校网站长治网上制作网站
  • 学校做网站有些什么好处婚庆公司收费价格表
  • 网站建设开发软件有哪些方面公司宣传片如何制作
  • 网站建设是设计师吗给平面设计素材网站做素材挣钱吗
  • 苏州老字号企业官方的网站策划书电子产品网站建设策划书
  • 揭阳网站建设antnw用静态网站更新
  • 网站改版对seo的影响学校网站模板wordpress
  • 工业信息部网站备案南宁网络推广平台
  • 网站关键词数量多少好佳木斯建网站的
  • 网站建设基础教学设计html搜索框代码
  • 免费广告推广网站网站如何做快捷支付接口
  • 网站模板 餐饮艺梵科技 网站建设
  • 濮阳公司建站一级域名和二级域名