我现在一直在使用MVVM模式,但在现实生活中我仍遇到问题.这是另一个:我使用命令和冒泡事件在ViewModel中处理.到现在为止还挺好.但是我使用MVVM的项目实际上是一个类库.一旦我运行命令代码,我需要能够将一个对象发送回调用应用程序.建议的方法是什么?
具体来说:在我的调用应用程序中,我有一个XAML页面直接绑定到库的ViewModel,它包含一个对象"Thing1".单击按钮时,将调用ViewModel中的方法(将其称为"CopyThing1()").它复制"Thing1"以创建"Thing2".然后我需要将"Thing2"发送回调用应用程序.
谢谢!!!
我偶然发现了人们选择称之为Prologue Directives的东西.更常见的是"使用严格"; JavaScript中的字符串文字.我已经知道了.但共同点是Prologue Directive.这是什么?关于这个主题的文献很少.最好的一个是我联系的问题.
我的问题是通用的:
这些是什么?
它们可以用于什么?
谁使用它们,为什么?
我能做到吗?
我是不是该?
我正在尝试两种语言之间的非常基本的互操作.我基本上有一些性能密集的代码,我想用C++处理,然后将结果返回给我的应用程序.
所有都将在Visual Studio中编译.
我选择int作为输入和输出类型,因为编组可能有点不稳定而不是我正在处理的事情.
C++我有:
#include "stdafx.h" // default from vs2013, no idea what it is
_declspec(dllexport) int Diu(int p) {
return p * 2;
}
Run Code Online (Sandbox Code Playgroud)
C#我有:
using System;
namespace Interop {
public class Program{
[System.Runtime.InteropServices.DllImport("Hardworker.dll")]
public static extern int Diu(int p);
private static void Main(string[] args) {
Console.WriteLine(Diu(2));
}
}
}
Run Code Online (Sandbox Code Playgroud)
所以这是一个非常基本的例子.但是我得到了例外:
Interop.exe中发生了未处理的"System.BadImageFormatException"类型异常
其他信息:尝试加载格式不正确的程序.(HRESULT异常:0x8007000B)
C++项目在创建对话框中创建为Console Application> Dll.我在反汇编程序中检查了C++ dll,我可以看到Diu作为导出符号.
呃.关于设置互操作,我错过了什么?