在阅读NSubstitute教程时,我将用C#编写的示例转换为VB.net以了解其功能,但是我需要您对这些(不相关)语句的支持,尽管采取了所有谨慎措施,但我还是不能将其转换:
1。
calculator().Received().Add(1, Arg.Is(Of Integer)(function(x) new[] {-2,-5,-10}.Contains(x)))
2。
注意:foo是具有无效方法的接口的派生对象,该方法称为“ SayHello”
foo.When(x >= x.SayHello("World")).Do(x => counter++);
3。
calculator().When(x >= x.Add(-2, -2)).Do(x => { throw new Exception(); });
注意:engine是从此接口派生的对象:
public interface IEngine {
event EventHandler Idling;
event EventHandler<LowFuelWarningEventArgs> LowFuelWarning;
event Action<int> RevvedAt;
}
4,
engine.Idling += (sender, args) => wasCalled = true;
5,
engine.Idling += Raise.EventWith(new object(), new EventArgs());
6,
engine.RevvedAt += rpm => revvedAt = rpm;
希望在您的支持下,我能够自行转换其余的语句。
先感谢您
麦可
看来您想转换Lambda并添加事件处理程序。
来自C#的Lambda
.Where(x => x.Foo = 1)
.Do(x => x.Bar())
转换成
.Where(function(x) x.Foo = 1)
.Do(sub(x) x.Bar())
在VB.Net中,您必须考虑Labda是否实际执行功能或子功能,并相应地对其进行编码。
在C#中添加事件
engine.Idling += MyEventHandler
在 VB.Net
AddHandler engine.Idling, AddressOf MyEventHandler
VB.Net
让您添加这样的事件。删除事件是通过关键字完成的RemoveHandler
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句