草庐IT

lazy-init

全部标签

c# - Lazy<T> 如何解决需要 new() 约束的问题?

示例1(不编译):voidMain(){varc=newC();c.M.F();}classC{T_m=null;publicTM{get{if(_m==null)_m=newT();return_m;}}}classD{publicvoidF(){Console.WriteLine("iwascreated");}}结果:Cannotcreateaninstanceofthevariabletype'T'becauseitdoesnothavethenew()constraint示例2(有效):voidMain(){varc=newC();c.M.F();}classC{Lazy_m

c# - 在 Lazy<T> 中转换接口(interface)类型

我想要这样的东西:publicinterfaceIAnimal{}publicclassDog:IAnimal{publicDog(){}}publicclassCat:IAnimal{publicCat(){}}publicabstractclassTestClassBase{publicTestClassBase(){_lazyAnimal=CreateLazyAnimal();}privateLazy_lazyAnimal=null;publicIAnimalAnimal{get{IAnimalanimal=null;if(_lazyAnimal!=null)animal=_la

c# - .net core依赖注入(inject)是否支持Lazy<T>

我正在尝试使用通用Lazy类来实例化一个具有.net核心依赖注入(inject)扩展的昂贵类。我已经注册了IRepo类型,但我不确定Lazy类的注册是什么样的,或者是否支持它。作为解决方法,我使用了这种方法http://mark-dot-net.blogspot.com/2009/08/lazy-loading-of-dependencies-in-unity.html配置:publicvoidConfigureService(IServiceCollectionservices){services.AddTransient();//registerlazy}Controller:pu

javascript - window.onload = init(); 有什么区别?和 window.onload = init;

根据我收集到的信息,前者将函数返回语句的实际值分配给onload属性,而后者分配实际函数,并将在窗口加载后运行。但我仍然不确定。感谢任何可以详细说明的人。 最佳答案 window.onload=init();将onload事件分配给执行时从init函数返回的任何内容。init将立即执行,(例如,现在,不是窗口加载完成时)和结果将分配给window.onload。你不太可能想要这个,但以下内容是有效的:functioninit(){varworld="World!";returnfunction(){alert("Hello"+wor

javascript - Facebook init() 的 channelUrl 参数是否已弃用?

我记得FB.init()有一个channelUrl选项,但根据thispage,它似乎不再存在了此功能是否已弃用? 最佳答案 是的,不再需要channelUrl。这是博客文章中的引述:ChangedbrowserrequirementsfortheJavaScriptSDKInorderfortheJavaScriptSDKtobeabletocommunicatewithFacebook,wenowrequireeithernativesupportforHTML5postMessage,orsupportforFlash,min

javascript - Karma 测试错误 "unable to init ocLazyLoad"

来自快速入门sb-admin-angular,我正在尝试运行测试,但出现错误unabletoinitocLazyLoad。(这是Windows7机器。)我用来运行测试的命令是:$grunttest--force我从thisthread了解到我必须确保在karma.conf.js中添加了ocLazyLoad脚本的路径。files:['bower_components/angular/angular.js','bower_components/angular-mocks/angular-mocks.js',...'bower_components/oclazyload/dist/ocLaz

javascript - jQuery-UI draggable error 'cannot call methods prior to init' , 在更新到版本 1.10.1

我在使用jQuery-UI1.8.2时可以正常使用可拖动插件,然后我更改为1.10.1。我发现的主要区别是在启用和禁用插件时,我不再需要使用:$this.draggable('option','disabled',true);但可以简单地使用$this.draggable('disable');但后来我意识到还有另一个问题。我得到这个错误,它弄乱了我的整个程序,我不知道如何修复它:Error:cannotcallmethodsondraggablepriortoinitialization;attemptedtocallmethod'enable'为了修复它,我确保在任何进一步的选项之

javascript - mocha-phantomjs 的 mocha init 超时

我有以下testrunner.html:Specsfunctionassert(expr,msg){if(!expr)thrownewError(msg||'failed');}_runner.js如下所示://ConfigureRequireJSrequire.config({baseUrl:'/client',urlArgs:"v="+(newDate()).getTime()});//Requirelibrariesrequire(['require','lib/chai','lib/mocha'],function(require,chai){//Chaiassert=chai

Vue表单修饰符:v-model.lazy、v-model.number、v-model.trim

表单修饰符有:lazy、number、trim;修饰符加在v-model后面; lazy修饰符:v-model的作用是双向绑定表单,能获取到input输入框的值,而且是实时获取的,就是当你输入框里的值发生改变就会获取到;有时候我们不想实时获取输入框的值,想一段时间获取一次,就可以用这个修饰符;这个修饰符的作用是,绑在v-model上在input标签上使用,当输入框失去焦点的时候才获取的value值;没加lazy之前:效果如下图:加上lazy之后:效果如下图:  代码:{{mytext}}newVue({el:"#box",data:{mytext:""}})上面两个效果图进行比较发现,当没加l

JavaScript prototype.init 疯狂

谁能解释一下prototype.init函数在JavaScript中的意义以及它在对象实例化过程中何时被调用?为什么要用空函数覆盖它?我正在阅读JavaScriptforWeb这本书,并且在过去的几个小时里一直停留在这个问题上......一段代码应该实现什么?varClass=function(){varklass=function(){this.init.apply(this,arguments);};klass.prototype.init=function(){};//Shortcuttoaccessprototypeklass.fn=klass.prototype;//Shor