加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

使用匿名对象(MVVMCross)在WP7上将变量从ViewModel传递到ViewMod

发布时间:2020-12-14 05:26:07 所属栏目:Windows 来源:网络整理
导读:我使用MVVMCross创建了一个应用程序,IOS和 Android版本正在运行,但当我尝试“移植”到WP7时,我遇到了以下问题: throw methodAccessException.MvxWrap("Problem accessing object - most likely this is caused by an anonymous object being generated as I
我使用MVVMCross创建了一个应用程序,IOS和 Android版本正在运行,但当我尝试“移植”到WP7时,我遇到了以下问题:

throw methodAccessException.MvxWrap("Problem accessing object - most likely this is caused by an anonymous object being generated as Internal - please see https://stackoverflow.com/questions/8273399/anonymous-types-and-get-accessors-on-wp7-1");

正如我在其他问题的答案(在Android上)中提到的那样,你必须在Assembly7的CSS中设置一个InternalsVisibleTo属性.所以我做了:

[assembly: InternalsVisibleTo("Cirrious.MvvmCross.WindowsPhone")]

但这没有任何区别.我使用以下代码将两个变量从BeckhoffViewModel发送到我的BeckhoffSensorViewModel.

BeckhoffViewModel:

public IMvxCommand BeckhoffSensor1
{
get
    {
        return new MvxRelayCommand(kvpSens1);
    }
}

private void kvpSens1()
{
    RequestNavigate<BeckhoffSensorViewModel>(new { VarType = "short",Variable = ".countertest" });
}

BeckhoffSensorViewModel:

public BeckhoffSensorViewModel(string VarType,string Variable)
{
    _vartype = VarType;
    _variable = Variable;
}

我忽略了什么?我还查看了异常中提到的另一个stackoverflow主题,但无法理解它.

解决方法

匿名类肯定会被编译器创建为内部 – 这就是为什么你需要行[assembly:InternalsVisibleTo(“Cirrious.MvvmCross.WindowsPhone”)]

你能检查一下AssemblyInfo.cs文件是否肯定被链接到项目中(并且这是包含ViewModel / anonymous-class代码的项目)?

如果是这种情况,您可以检查methodAccessException以查看消息是什么吗?

如果这没有帮助,您是否可以使用像Reflector这样的工具来检查内核/应用程序集上实际存在的internalVisible属性?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读