当前上下文中不存在"Marshal"这个名称

Hax*_*xed 1 marshalling directshow.net c#-3.0

我从bitmapmixer示例(DirectShow.NET)获得了下面的代码,我试图重新实现它.原始样本工作正常.在我的版本中,当我尝试编译时,我得到错误.

private void AddHandlers()
    {
        // Add handlers for VMR purpose
        this.Paint += new PaintEventHandler(Form1_Paint); // for WM_PAINT
        this.Resize += new EventHandler(Form1_ResizeMove); // for WM_SIZE
        this.Move += new EventHandler(Form1_ResizeMove); // for WM_MOVE
        SystemEvents.DisplaySettingsChanged += new EventHandler(SystemEvents_DisplaySettingsChanged); // for WM_DISPLAYCHANGE
        handlersAdded = true;
    }

    private void RemoveHandlers()
    {
        // remove handlers when they are no more needed
        handlersAdded = false;
        this.Paint -= new PaintEventHandler(Form1_Paint);
        this.Resize -= new EventHandler(Form1_ResizeMove);
        this.Move -= new EventHandler(Form1_ResizeMove);
        SystemEvents.DisplaySettingsChanged -= new EventHandler(SystemEvents_DisplaySettingsChanged);
    }
Run Code Online (Sandbox Code Playgroud)

错误


错误1当前上下文中不存在名称"Marshal"Form1.cs
错误2 当前上下文中不存在名称"Marshal"Form1.cs
错误3当前上下文Form1中不存在名称"Form1_ResizeMove". cs
错误4当前上下文中不存在名称"Form1_Paint"Form1.cs
错误5 当前上下文中不存在名称"Form1_ResizeMove"Form1.cs
错误6当前上下文Form1中不存在名称"Form1_ResizeMove" .cs
错误7当前上下文中不存在
名称'SystemEvents_DisplaySettingsChanged'Form1.cs错误10名称'Form1_ResizeMove'在当前上下文Form1.cs中不存在
错误11当前上下文Form1.cs中不存在名称"SystemEvents_DisplaySettingsChanged"


任何帮助表示赞赏.

谢谢.

Jon*_*eet 10

Marshal班是在System.Runtime.InteropServices命名空间.你有适当的using指令吗?

using System.Runtime.InteropServices;
Run Code Online (Sandbox Code Playgroud)

至于其他错误 - 你班上有这些方法吗?如果没有,删除试图为它们订阅事件处理程序的行...