Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
А именно, как это в C#:
#if (DEBUG)
Debug Stuff
#endif
C# имеет следующие директивы препроцессору:
#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
if (System.Diagnostics.Debugger.IsAttached)
{
// Do this
}
else
{
// Do that
}
Константы компилятора. Я не помню синтаксис C#, но это - то, как я делаю это в VB:
#If CONFIG = "Debug" Then
'do somtehing
#Else
'do something else
#EndIf
Я должен, использовал Google.
#if DEBUG
Console.WriteLine("Debug mode.")
#else
Console.WriteLine("Release mode.")
#endif
Удостоверьтесь, что опция "Configuration settings"-> "Build" "Определяет ОТЛАДКУ, постоянную" в свойствах проекта, проверяется.