"设计模式"预处理器指令

ser*_*hio 10 .net wpf preprocessor visual-studio-2010 visual-studio

我在Designer中显示组件时遇到问题.

我发现了设计师不喜欢的"坏"代码.

现在,问题是我不能仅仅使用预处理器指令来"评论"它的设计时间.

现在,我尝试了(对于VB.NET)以下内容

#If Not Debug Then
Private Sub myWpfComponent_ItsEvent(sender, args) Handles myWpfComponent.ItsEvent
...
#End If 
Run Code Online (Sandbox Code Playgroud)

这...工作,现在它在设计师中显示没有问题.

现在的问题是我恐怕无法正确调试这个组件.

所以,我正在寻找一种解决方法

#If Not DESIGN_TIME Then
#End If 
Run Code Online (Sandbox Code Playgroud)

有类似的东西吗?

Gab*_*ana 9

您无法通过预处理器实现此目的.这是因为您可以在VS之外运行调试可执行文件(尝试它,在调试模式下双击VS生成的EXE).

无论如何,有一个运行时(不是基于预处理器的)属性可能会有所帮助:

if (System.ComponentModel.LicenseManager.UsageMode ==
    System.ComponentModel.LicenseUsageMode.Designtime)
Run Code Online (Sandbox Code Playgroud)

这些网页将有助于并在运行时使用其他方法检查设计模式:

http://msdn.microsoft.com/en-us/library/c58hb4bw(vs.71).aspx

http://weblogs.asp.net/fmarguerie/archive/2005/03/23/395658.aspx