Re: [Conditional] question
From: Nicholas Paldino [.NET/C# MVP] (mvp_at_spam.guard.caspershouse.com)
Date: 01/10/05
- Next message: Benoit Vreuninckx: "Re: create an event handler for control array in C#"
- Previous message: Mark: "re-engineer class diagram in Visio Enterprise Architect"
- In reply to: Marc Jennings: "[Conditional] question"
- Next in thread: Marc Jennings: "Re: [Conditional] question"
- Reply: Marc Jennings: "Re: [Conditional] question"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 10 Jan 2005 09:53:12 -0500
Marc,
You aren't going to be able to do this. The reason is that the
Conditional attribute is evaluated at compile-time, not run-time. It is
strictly for pre-processor values, not environment values.
If you want to do something based on the environment, you are going to
have to write code that will detect the environment you are in, and then
make the appropriate calls.
Hope this helps.
--
- Nicholas Paldino [.NET/C# MVP]
- mvp@spam.guard.caspershouse.com
"Marc Jennings" <MarcJennings@community.nospam> wrote in message
news:p745u05eq7lb92iapt3loivsacpv3gh05e@4ax.com...
> Hi there,
>
> I am trying to get some conditional functionality into some of my
> apps. I can use the format :
>
> [Conditional("DEBUG")]
> private void doStuff()
> {
> //do something
> }
>
> as expected, but I would like to makr it a little more useful in a
> multi-machine environment.
>
> I want to make tweaks to an application based up whether it is running
> on my development laptop, the stage server or the live server, and
> conditionals seem to be the most efficient way forward. However, I am
> not sure how to go about defining an environment variable to trigger
> the consitional method.
>
> Here's what I *think* I want to do...
>> **snip unnecessary stuff**
>>
>> string outputMessage;
>> string productionServer;
>>
>> private string statusMessage()
>> {
>> outputMessage = "This application is running on " + Environment.HostName
>> + ". ";
>> productionServer = "This is the production server. ";
>> isDevBox();
>> return outputMessage + productionServer;
>> }
>>
>> [Conditional( ***HERE IS WHERE I AM COMING UNSTUCK****)]
>> private void checkIsDevBox()
>> {
>> //reset things like connection strings, data table names, development
>> queries, and whatever else I need
>> productionServer = "This is one of the development of stage servers.
>> ";
>> }
>> **snip unnecessary stuff**
>
> It seems that I need to check if Environment.Hostname matches one of
> my two development server names, and if so, set a flag that
> [Conditional] can work with. It's all very well to know this is what
> I need to do, but I have not the first clue about how to go about that
> bit.
>
> Can anyone help, please?
>
> Thanks
> Marc.
- Next message: Benoit Vreuninckx: "Re: create an event handler for control array in C#"
- Previous message: Mark: "re-engineer class diagram in Visio Enterprise Architect"
- In reply to: Marc Jennings: "[Conditional] question"
- Next in thread: Marc Jennings: "Re: [Conditional] question"
- Reply: Marc Jennings: "Re: [Conditional] question"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|