非托管C#导出与外部托管程序集共享数据

时间:2015-03-27 06:37:34

标签: c# unmanaged

我正在使用RGiesecke.DllExport非托管导出库创建一个由MetaTrader4导入的dll。程序集内部的数据交换工作正常,但如何从另一个程序集访问MetaTrader更新的变量?

using RGiesecke.DllExport;
using System.Runtime.InteropServices;

public static class UnmanagedExports
{
    static int _value = 10;
    public static int Value        
    {
        get { return _value; }
        set { _value = value; }
    }

    [DllExport("PassInt", CallingConvention = CallingConvention.StdCall)]
    public static void PassInt(int value)
    {
        Value = value;
    }
}

尝试从单独的C#应用​​程序访问该值时:

private void timer1_Tick(object sender, EventArgs e)
{
    Console.WriteLine(UnmanagedExports.Value);             
}

输出始终为:10

我错过了什么?

0 个答案:

没有答案