小编王凯越*_*ang的帖子

紫色下划线在visual studio编辑器中意味着什么?

我今天在Visual Studio 2015中遇到了一些紫色(或紫罗兰色)的下划线,这是我以前从未见过的.

Visual Studio编辑器中的紫色下划线

我把光标放在文本上但没有发生任何事情(有时会发生).我用Google搜索,什么也没得到.

这是什么意思?差异类型的下划线如何代表VS中的不同类型的警告?

这里有一些提示: 我后来发现自己在程序运行时编辑源代码.当我停止程序时,下划线消失了.所以我认为它与当前的调试状态有关.

c# editor visual-studio

22
推荐指数
1
解决办法
7425
查看次数

我应该创建一个新方法来处理事件或覆盖基本方法吗?

在使用UIElementC#编写UWP程序时,我正在使用从类派生的类,其中我想要包括处理输入控件,如鼠标和键盘操作.现在我看到已经有虚拟方法OnSomeEvent()说明了我可以覆盖这些方法以适应我的处理过程,或者我可以创建处理基类中定义的公共事件的新方法,并在构造函数中将它们订阅到这些输入事件.我认为这两种方法都有效但我希望知道哪种方法更专业或更明智,以及为什么.此外,它有助于解释为什么MS同时提供这两种方式.

这是UIElementhttps://msdn.microsoft.com/en-us/library/system.windows.uielement(v=vs.110).aspx#Examples的事件和方法.

和一段引用

UIElement为元素布局特征提供了一个起点,并且还公开了派生类可以覆盖的虚拟方法,这些方法可以影响元素及其子元素的布局呈现行为.通常,元素的大部分输入和聚焦行为也在UIElement类中定义.这包括键盘,鼠标和手写笔输入的事件以及相关的状态属性.其中许多事件都是路由事件,许多与输入相关的事件都有冒泡路由版本以及事件的隧道版本.这些配对事件通常是控制作者最感兴趣的事件.

c# events event-handling uielement uwp

5
推荐指数
1
解决办法
202
查看次数

在C#编码的事件情况下,前缀“开”将实现什么?

我认为使用“ On”作为C#方法的前缀存在很大的困惑。

在MSDN文章“处理和引发事件” https://msdn.microsoft.com/zh-cn/library/edzehd2t(v=vs.110).aspx中,它说:

通常,要引发一个事件,您可以添加一个标记为protected and virtual(在C#中)或Protected and Overridable(在Visual Basic中)的方法。将此方法命名为OnEventName;例如OnDataReceived。该方法应采用一个指定事件数据对象的参数。您提供此方法以使派生类可以重写引发事件的逻辑。派生类应始终调用基类的OnEventName方法,以确保已注册的委托接收事件。

表示On ...方法将引发一个事件。但是,在许多编码示例中,即使Microsoft提供了一些示例,我们也可以看到事件On方法用作事件处理程序,例如此处的https://msdn.microsoft.com/zh-cn/windows/uwp/gaming/tutorial -将移动控件控件添加到您的Directx游戏中?f = 255&MSPPError = -2147217396

首先,让我们填充鼠标和触摸指针事件处理程序。在第一个事件处理程序OnPointerPressed()中,我们从CoreWindow获取指针的xy坐标,当用户单击鼠标或触摸外观控制器区域中的屏幕时,该CoreWindow管理我们的显示。

void MoveLookController::OnPointerPressed(
_In_ CoreWindow^ sender,
_In_ PointerEventArgs^ args)
{
    // Get the current pointer position.
    uint32 pointerID = args->CurrentPoint->PointerId;
    DirectX::XMFLOAT2 position = DirectX::XMFLOAT2( args->CurrentPoint->Position.X, args->CurrentPoint->Position.Y );

    auto device = args->CurrentPoint->PointerDevice;
    auto deviceType = device->PointerDeviceType;
    if ( deviceType == PointerDeviceType::Mouse )
    {
        // Action, Jump, or Fire
    }

    // Check  if this pointer …
Run Code Online (Sandbox Code Playgroud)

c# events msdn coding-style event-handling

5
推荐指数
1
解决办法
321
查看次数

在Windows上使用C ++删除文件

我正在编写一个C ++程序,如果满足某些条件,我想删除一些创建的文件。这些文件具有各种文件名,这些文件名在每次迭代中均使用“字符串”类型分配。现在,我正在尝试使用文件名删除某些文件,但是似乎Deletefile函数和remove都无法处理C ++字符串。我也曾尝试将字符串转换为c类型char *,但它不起作用。

我正在Windows 10上使用Visual Studio Community 2015。

他们有解决这个问题的方便方法吗?

c++ windows

2
推荐指数
1
解决办法
6914
查看次数

如何在FSharp的成员方法中直接使用构造函数中的此参数?

FSharp的“删除循环依赖性”中给出了此示例(反示例),以获取乐趣和收益。https://fsharpforfunandprofit.com/posts/removing-cyclic-dependencies/

type Customer(name, observer:CustomerObserver) = 
        let mutable name = name
        member this.Name 
            with get() = name
            and set(value) = 
                name <- value
                observer.OnNameChanged(this)

and CustomerObserver() = 
    member this.OnNameChanged(c:Customer) =     
        printfn "Customer name changed to '%s' " c.Name
Run Code Online (Sandbox Code Playgroud)

见参数observerCustomer类。它不会在类型中声明为字段或属性。之后怎么样了?

.net oop f# functional-programming .net-core

1
推荐指数
1
解决办法
46
查看次数