Design Mode Preprocessor Directive Workaround
I know that there is no DESIGN, DESIGN_MODE, DESIGN_TIME, etc preprocessor directive value. Howev开发者_StackOverflow社区er, I need something that can do the trick. I can't use a normal If statement, because in my case I need to change the inherited class so that the control renders properly at design time. If not, I'll receive an exception due to the fact that the inherited class is an abstract class.
Here's what I'm looking to accomplish:
Partial Class MyCustomControl
#If DesignMode Then
Inherits UserControl
#Else
Inherits WidgetControl
#End If
Any suggestions?
Try using:
if (this.DesignMode == true)
{ }
else
{ }
In the past I have created a dummy class as a go between. Sometimes VS will still figure out what you are doing and get upset, but normally restarting the IDE will solve that.
Partial Class MyCustomControl : MyAbstractClass_FAKE_IMPL
{
//your normal class
}
and
Partial Class MyAbstractClass_FAKE_IMPL : MyAbstractClass
{
//let IDE autogenerate implementation code that you are always going to override in reality.
}
精彩评论