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

徐州网站建设方案开发广州短视频运营培训

徐州网站建设方案开发,广州短视频运营培训,企业展厅布置效果图大全,网站建设免费空间哪里有现在依赖注入在.Net里面已经普及,自己常写一些简单的demo倒是无所谓,但偶尔写一点正式的工程,也免不了要使用一下,于是总结了一下在WPF里面使用依赖注入。 在写简单Demo时候,通常是在MainWindow的构造函数里面直接做初…

现在依赖注入在.Net里面已经普及,自己常写一些简单的demo倒是无所谓,但偶尔写一点正式的工程,也免不了要使用一下,于是总结了一下在WPF里面使用依赖注入。

在写简单Demo时候,通常是在MainWindow的构造函数里面直接做初始化,各种变量也都丢在MainWindow类里面。在使用依赖注入后,我发现在App里面完成一些初始化内容更合适,包括MainWindow也通过容器生成,需要注意的是,记得把App.xaml中的 StartupUri更改为 Startup,并把值改为自定义的启动函数,在启动函数里面调用MainWindow的Show方法。

App.xaml.cs

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using NLog;
using NLog.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Net.WebSockets;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
using System.Windows;namespace TradeClient
{/// <summary>/// Interaction logic for App.xaml/// </summary>public partial class App : Application{public App(){LogManager.Configuration.Variables["ProgramName"] = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;LogManager.Configuration.Variables["StartTime"] = DateTime.Now.ToString("yyyyMMdd-HHmmss");var config = new ConfigurationBuilder().Build();var servicesCollection = new ServiceCollection();servicesCollection.AddLogging(loggingBuilder => loggingBuilder.AddNLog(config));servicesCollection.AddSingleton<ApiDatas>();servicesCollection.AddSingleton<TradeSpiImpl>();servicesCollection.AddSingleton<TradeSpiMiddle>();servicesCollection.AddSingleton<MainWindow>();ServiceProvider = servicesCollection.BuildServiceProvider();TradeSpiMiddle tradeSpiMiddle = ServiceProvider.GetRequiredService<TradeSpiMiddle>();tradeSpiMiddle.InitTradeSpi(ref TradeSpi);int size = Marshal.SizeOf(TradeSpi);TradeSpiPoint = Marshal.AllocHGlobal(size);Marshal.StructureToPtr(TradeSpi, TradeSpiPoint, true);}public void ApplicationStartUp(object sender, StartupEventArgs e){TradeApi.CreateTradeApi();TradeApi.RegisterSpi(TradeSpiPoint);TradeApi.RegisterFront("127.0.0.1", 10001);TradeApi.Init();MainWindow mainWindow = ServiceProvider.GetRequiredService<MainWindow>();mainWindow.Show();}private TradeSpi TradeSpi = new();private IntPtr TradeSpiPoint;private ServiceProvider ServiceProvider;}
}

http://www.yayakq.cn/news/896592/

相关文章:

  • 北京网站定制开发nginx wordpress优点
  • 济南智能网站建设网站霸屏怎么做
  • 长沙 建站优化知名网站域名被抢注
  • 一个网站需要哪些东西织梦网站后台管理
  • 如何给网站添加统计代码seo优化流程
  • 人力社保网站建设的意义企业网站建设费
  • 单位网站开发合同范本怎么玩互联网能赚钱
  • 做数学的网站临海网站开发公司电话
  • seo网站结构支持wap网站的系统
  • 淘宝运营模式怎么快速优化关键词排名
  • 秦皇岛网站建设哪里有网站设计与建设word设计理念
  • 有没有哪个网站能够做简历app建设网站
  • app手机网站中国好公司排名
  • 博客网站开发视频数据库网页制作教程
  • win7 做网站服务器wordpress响应很慢
  • 网站seo是干什么的网站编辑器
  • 微信网页上的网站怎么做wordpress mega
  • 知名企业网站建设建设银行个人查询余额
  • 工图网短视频关键词seo优化
  • 潍坊网站建设托管做微信公众号的网站
  • 方案策划网站wordpress 探针
  • 怎么免费建网站设计公司展厅设计
  • 潍坊网站模板在哪个人工商注册查询网站
  • 高水平的徐州网站建设手机网站禁止缩放
  • 烟台做网站公司工程建设承包合同
  • 营销型 网站开发沈阳做网站哪家便宜
  • 哪里可以找到做网站的榆次网站建设公司
  • jsp编写网站h5网站架设
  • 有什么网站可以做名片专门做网站开发的公司
  • 网站建设法规一个网站是怎么建立的