编辑: 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
被组合时,我得到以下异常:
合成产生了一个单一的合成错误。下面提供了根本原因。查看 CompositionException.Errors 属性以获取更多详细信息。
1)“System.Dynamic.ExpandoObject”不包含“TestSql”的定义
此错误是有道理的,因为ExpandoObject
没有具有此名称的属性。它应该是动态创建的。有人ExpandoObjects
在MEF处理过吗?如果必须,我总是可以摆脱这种ExpandoObject
情况,但我想知道是否有一个简单的解决方法可以让这种情况发生。