我想我的大脑已经被炸了,因为我正在努力做一些简单的事情。在我的应用程序中,我有以下代码来配置 Nhibernate(我的问题不是 Nhibernate 特有的)。

return Fluently.Configure()
    .ExposeConfiguration(c => {
        c.EventListeners.PostInsertEventListeners = new IPostInsertEventListener[] { new LoggingEventListener() };
        c.EventListeners.PostUpdateEventListeners = new IPostUpdateEventListener[] { new LoggingEventListener() };
   });

但是,我需要将配置(ExposeConfiguration 中的内容)存储在私有(private)变量中。我可以执行以下操作:
return Fluently.Configure()
    .ExposeConfiguration(c => _configuration = c);

其中 _configuration 是私有(private)变量。但这并没有添加我的额外配置选项(EventListeners 的东西)。我玩过各种各样的东西,但我想我的 lambda 知识并不像我想象的那么好。

我很感激你的帮助。谢谢

最佳答案

lambda 表达式只是一个委托(delegate),通常映射到 Func<T1, T2, ..., TResult> 变体之一。

Func<T1, TResult> myVar = c => _configuration = c;

用相关类型替换 TResultT1

那可能对你有用。

关于c# - 将 Lambda 表达式存储在变量中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4379048/

10-17 00:12