【发布时间】:2018-04-20 09:39:30
【问题描述】:
我正在将 Devexpress 用于 Windows 窗体应用程序。 所以我想替换这个sn-p:
tabbedView.AddDocument(userControl);
tabbedView.ActivateDocument(userControl);
用这个 sn-p:
tabbedView.AddOrActivateDocument(doc => doc.Caption == e.Element.Name, userControl);
这里的问题是这个方法请求Func<Control>而不是Control。
我找到了Func<Object,Object> 文档和规范,但找不到如何从Object 转换为其Func<Object>。
感谢您的帮助。谢谢。
【问题讨论】:
-
Func<Control>表示它不带参数并返回一个Control,类似于public Func<Control> getControl = () => new Control(); -
你可以通过传递一个 lambda 表达式来解决这个问题。试试这个
tabbedView.AddOrActivateDocument(doc => doc.Caption == e.Element.Name, () => userControl); -
谢谢先生!这解决了我的问题,但我还不明白这个概念。
-
这就是我所做的并解决了我的问题。非常感谢。
-
在发布此类问题时只是一个建议,攻击文档链接总是好的。通过实际阅读文档,我能够找出解决方案:)
标签: c# windows forms devexpress