编辑: 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时,出现以下异常:



由于ExpandoObject没有使用该名称的属性,因此此错误是有道理的。应该动态创建。有人在MEF中处理过ExpandoObjects吗?如果需要的话,我总是可以摆脱ExpandoObject,但是我想知道是否有一个简单的修复程序可以使这种情况起作用。

最佳答案

您尝试过吗?:

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

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

10-11 08:08