>>>>Hi.
>>>>I would like to use conditional compilation to have difference method access modifier for unit testing.
>>>>
>>>>
>>>>#if TEST
>>>> public virtual void MyMethod()
>>>>#else
>>>> public void MyMethod()
>>>>#endif
>>>> {
>>>> // Do Something;
>>>> }
>>>>
>>>>
>>>>I have code as above, I added new constant TEST at solution configuration manager. I changed "constant" among debug, release and TEST. VS 2008 IDE works fine for TEST and debug. However, whenever I change it to release, the method under TEST constant will be used.
>>>>
>>>>Anyway to make DEBUG/RELEASE to use public void MyMethod() and onyl TEST will use public virtual void MyMethod() ?
>>>
>>>If I understand correctly what you are trying to do:
>>>
>>>There is a pre-defined DEBUG constant which should be adequate - just make sure the checkbox in the project 'Build' page is checked for the relevant configurations. You should be able to check whether conditional code will be compiled - if it is not being compiled it will be greyed-out in the IDE. If you really want to use 'TEST' then add it to the 'Conditional Compilation symbols in the 'Debug' configuration of the project properties 'Build' page
>>
>>
>>You can also test for debug mode
>>
>>if (System.Diagnostics.Debugger.IsAttached)
>>{
>> DoSomething()
>>}
>>else
>>{
>> DoSomethingElse()
>>}
>>
>
>I didn't know that. But now that I do I'm having trouble seeing a use for it.....
The only thing we really use it for is to set the main form maximized or not. In debug mode it is running on my development machine with a 21" monitor. In production it runs on a computer with a 10" monitor and we don't want them to run anything else at the same time. It is just convenience for us. I am sure there are other uses, but ??
Timothy Bryan