草庐IT

timer_new

全部标签

c# - 何时使用 new 而不是重写 C#

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:C#keywordusagevirtual+overridevs.newDifferencebetweennewandoverride?所以我一直在做一个项目,并决定阅读一些有关C#中new和override关键字之间的区别的文章。据我所知,似乎使用new关键字功能是在代码中制造错误的好方法。除此之外,我真的看不出什么时候使用它才真正有意义。更多的是出于好奇,是否有任何模式可以让new关键字成为正确的方式?

c# - azure 函数 : configure blob trigger only for new events

我的Azure存储中有大约80万个blob。当我使用blobTrigger创建azure函数时,它开始处理存储中的所有blob。如何将我的函数配置为仅针对新的和更新的blob触发? 最佳答案 目前没有办法做到这一点。在内部,我们通过将收据存储在我们的控制容器azure-webjobs-hosts中来跟踪我们处理了哪些blob。任何没有收据的blob或旧收据(基于blobETag)将被处理(或重新处理)。这就是为什么要处理您现有的blob——它们没有收据。BlobTrigger目前旨在确保最终处理容器中与路径模式匹配的所有blob,并

c# - 为什么在通用序列创建器上使用 Func<> 比使用 new() 约束快得多

考虑以下代码...在我对Windows7x64PC(Inteli73GHz)上的RELEASE(不是调试!)x86构建的测试中,我获得了以下结果:CreateSequence()withnew()took00:00:00.9158071CreateSequence()withcreator()took00:00:00.1383482CreateSequence()withnew()took00:00:00.9198317CreateSequence()withcreator()took00:00:00.1372920CreateSequence()withnew()took00:00:

c# - Entity Framework 6 Create() 与 new

这两种方式添加实体有什么区别?MyEntityme=newMyEntity();entities.myentities.Add(me);对比MyEntityme=entities.myentities.Create();第二个例子还需要加“我”吗?如果是这样,是否有某种优势,无论是一种方式还是另一种方式?非常感谢! 最佳答案 MyEntityme=newMyEntity();将创建一个新的MyEntity实例MyEntityme=entities.myentities.Create();将创建MyEntity的代理包装实例(假设您的

C# 设计 : Why is new/override required on abstract methods but not on virtual methods?

为什么抽象方法需要new/override而虚方法不​​需要?示例1:abstractclassShapesClass{abstractpublicintArea();//abstract!}classSquare:ShapesClass{intx,y;publicintArea()//Error:missing'override'or'new'{returnx*y;}}编译器会显示这个错误:要使当前成员覆盖该实现,请添加override关键字。否则添加新关键字示例2:classShapesClass{virtualpublicintArea(){return0;}//itisvirt

c# - 隐藏(使用 "new"修饰符)接口(interface)方法声明的目的是什么?

可以将接口(interface)中的方法声明标记为“new”,但它是否具有任何“技术”意义,或者它只是一种明确声明声明不能覆盖先前声明的方式?例如:interfaceII1{newvoidF();}interfaceII2:II1{newvoidF();}是有效的(C#4.0编译器不会报错)但似乎与:interfaceII1{voidF();}interfaceII2:II1{voidF();}提前感谢您提供任何信息。编辑:您知道隐藏在界面中会有用的场景吗?编辑:根据此链接:Ismethodhidingeveragoodidea(感谢斯科特),最常见的场景似乎是协变返回类型的仿真。

c# - 单元测试 system.timers.timer

我一直在阅读有关使用计时器和线程进行单元测试的问题。我发现了有关单元测试system.threading.timers的SO问题,但我需要对system.timers.timer进行单元测试,而包装类似乎无法正常工作。我只需要知道如何模拟计时器和/或系统时间,以便对其进行单元测试。我似乎无法在谷歌上的任何地方找到这个。编辑和更新:这是有道理的,如果我通过如下包装提取计时器,我可以生成一个计时器并使用模拟将其替换为不同的计时器。相关的部分是获取我在运行时注入(inject)的计时器(原始的,而不是模拟的)并测试它的已用事件代码。 最佳答案

c# - 使 System.Threading.Timer 无效会停止吗?

如果我有一个活跃的System.Threading.Timer我将它设置为null,它停止了吗?我意识到调用.Dispose()更合适,但我想要问题的答案。publicclassFoo{privateSystem.Threading.Timer_timer;publicFoo(){//initializetimer}publicvoidKillTimer(){_timer=null;}}更新:经过反复讨论是否将对System.Threading.Timer的单个引用设置为null确实会导致停止它表明没有挥之不去的引用,例如事件列表,因为线程计时器接受单一回调并且不公开事件。如果GC收集

c# - 之前的 "new"运算符会怎样?

DispatcherTimerdt=newDispatcherTimer();dt.Interval=newTimeSpan(0,0,0,0,100);dt.Tick+=newEventHandler(dt_dt);我对new关键字有疑问。我有一个设置为间隔的DispatcherTimer。假设用户想要更改间隔。dt.Interval=newTimeSpan(0,0,0,0,50);那么,第一个newTimeSpan会发生什么?它还在那里吗?还是新的会覆盖旧的?我不这么认为。如果我想更改时间间隔,new关键字是否是声明新TimeSpan的唯一方法?我问这个,因为我不确定每次值更改时声明

c# - 有什么理由让 Timer 将 AutoReset 设置为 false,然后在其经过的事件期间重新启动自身?

我刚碰到这段代码,但我不明白。是否有理由使用这种设计,而不是仅在AutoReset为true的情况下重新运行经过的代码?privatereadonlyTimerTimer=newTimer();protectedoverridevoidOnStart(string[]args){Logger.InfoFormat("Starting{0}.",ServiceName);try{//IfEnabledissettotrueandAutoResetissettofalse,theTimerraisestheElapsedeventonlyonce,thefirsttimetheinterv