gpt4 book ai didi

c# - MEF 导出中的 ExpandoObject

转载 作者:行者123 更新时间:2023-12-03 10:39:07 24 4
gpt4 key购买 nike

编辑: ExpandoObject与 MEF 配合良好。我只是有一个语法错误。傻我。

我目前正在使用 ExpandoObjects动态创建 DelegateCommand给我的ViewModels .

private dynamic _commands = new ExpandoObject();
public dynamic Commands
{
get
{
return _commands;
}
}

private void initializeCommands()
{
_commands.TestSql(new DelegateCommand(() => testSqlConnection()));
}

这个命令用在我的 View .
<Button Content="Test Connection" Command={Binding Commands.TestSql}/>

我现在正在更新代码以使用 MEF,它适用于大多数模块。然而,当这个 ViewModel正在组成,我得到以下异常:

The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information.

1) 'System.Dynamic.ExpandoObject' does not contain a definition for 'TestSql'



这个错误是有道理的,因为 ExpandoObject没有同名的属性。它应该是动态创建的。有没有人处理过 ExpandoObjects在 MEF 中?我总是可以摆脱 ExpandoObject如果我必须这样做,但我想知道是否有一个简单的解决方法可以让这种情况发生。

最佳答案

你试过这个吗?:

private void initializeCommands()
{
_commands.TestSql = new DelegateCommand( () => testSqlConnection());
}

关于c# - MEF 导出中的 ExpandoObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12572162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com