我想我的大脑已经被炸了,因为我正在努力做一些简单的事情。在我的应用程序中,我有以下代码来配置 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;
用相关类型替换
TResult
和 T1
。那可能对你有用。
关于c# - 将 Lambda 表达式存储在变量中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4379048/