本文整理汇总了C#中Lazy.Eval方法的典型用法代码示例。如果您正苦于以下问题:C# Lazy.Eval方法的具体用法?C# Lazy.Eval怎么用?C# Lazy.Eval使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Lazy
的用法示例。
在下文中一共展示了Lazy.Eval方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EvalExecutesDelegateOnlyOnce
public void EvalExecutesDelegateOnlyOnce() {
// Arrange
int numTimesCalled = 0;
Lazy<string> lazy = new Lazy<string>(delegate {
numTimesCalled++;
return "Hello!";
});
// Act
string retVal1 = lazy.Eval();
string retVal2 = lazy.Eval();
// Assert
Assert.AreEqual("Hello!", retVal1);
Assert.AreEqual("Hello!", retVal2);
Assert.AreEqual(1, numTimesCalled, "Delegate should not have been called multiple times.");
}
示例2: LazilyGetFormatterGenerator
private static Func<IStateFormatter> LazilyGetFormatterGenerator(bool encrypt, bool sign) {
Lazy<Func<IStateFormatter>> generatorFactory = new Lazy<Func<IStateFormatter>>(
() => TokenPersister.CreateFormatterGenerator(encrypt, sign)
);
return () => {
Func<IStateFormatter> generator = generatorFactory.Eval();
return generator();
};
}