是否有Lazy <T>的无效版本?

skb*_*skb 7 .net lazy-initialization

我想使用Lazy<T>我的类中的行为来确保某个操作只发生一次.我之前做过这个,通过一个Lazy本质上调用一个Func做某事然后返回一个空值.我不关心返回值,我只是想确保事情只发生一次.

我在想它可以被称为Once.我会自己构建它并在Lazy内部使用它,如果它还不存在,但我想在做之前先问一下.谢谢!

usr*_*usr 8

它还不存在.使用Lazy<object>null从工厂返回.

您可以将其封装到Once类中,但不要继承,Lazy<object>因为这会滥用继承.使用适当的封装.

你也可以使用这个LazyInitializer品味的课程.