views:

1329

answers:

4

So I have about 10 short css files that I use with mvc app. There are like error.css login.css etc... Just some really short css files that make updating and editing easy (At least for me). What I want is something that will optimize the if else branch and not incorporate it within the final bits. I want to do something like this

if(Debug.Mode){

<link rel="stylesheet" type="text/css" href="error.css" /> 
<link rel="stylesheet" type="text/css" href="login.css" /> 
<link rel="stylesheet" type="text/css" href="menu.css" /> 
<link rel="stylesheet" type="text/css" href="page.css" /> 
} else {
<link rel="stylesheet" type="text/css" href="site.css" /> 
}

I'll have a msbuild task that will combine all the css files, minimize them and all that good stuff. I just need to know if there is a way to remove the if else branch in the final bits.

+2  A: 

I should had used google. \\

If DEBUG Then

Console.WriteLine("Debug mode.")

Else

Console.WriteLine("Release mode.")

End If

///

Make sure that the option "Configuration settings" -> "Build" "Define DEBUG constant" in the project properties is checked.

jdelator
+1  A: 

Compiler constants. I don't remember the C# syntax, but this is how I do it in VB:

#If CONFIG = "Debug" Then
  'do somtehing
#Else
  'do something else
#EndIf
Jonathan Allen
+6  A: 

Specifically, like this in C#:

#if (DEBUG)
   Debug Stuff
#endif

C# has the following preprocessor directives:

#if 
#else 
#elif // Else If
#endif
#define
#undef // Undefine
#warning // Causes the preprocessor to fire warning
#error // Causes the preprocessor to fire a fatal error
#line // Lets the preprocessor know where this source line came from
#region // Codefolding
#endregion
FlySwat
A: 

if (System.Diagnostics.Debugger.IsAttached) { // Do this } else { // Do that }