在我的应用程序中,我添加了一个Properties.cs文件,其中包含我将在整个应用程序中使用的属性。我得到NullReferenceException => Object reference not set to an instance of an object.
以下是Properties.cs的代码
public class Properties
{
private static string type1;
public static string Type1
{
get
{
return type1;
}
set
{
type1= value;
}
}
}
当我以我的某个表单访问此属性时,我收到错误。 e.g。
if (Properties.Type1.Equals(string.Empty) || Properties.Type1.Equals(null))
{
// Do something
}
答案 0 :(得分:5)
首先,你为自己的生活艰难。这很好(或者至少, as 很好,但更容易;静态成员是否是一个好主意是一个单独的问题,并且在很大程度上取决于上下文):
public class Properties
{
public static string Type1 { get;set; }
}
其次,这与属性无关,而与调用null
实例上的方法有关。你可以使用==
来避免这个问题,即
if (Properties.Type1 == "" || Properties.Type1 == null)
{
// Do something
}
但是,为方便起见,还有string.IsNullOrEmpty
:
if (string.IsNullOrEmpty(Properties.Type1))
{
// Do something
}
答案 1 :(得分:2)
请改用:
if (string.IsNullOrEmpty(Properties.Type1))
{
// Do something
}
答案 2 :(得分:2)
你正在以错误的方式进行空和空检查。
正确的方法是:
if (string.IsNullOrEmpty(Properties.Type1))
{
....
}
答案 3 :(得分:0)
你可以这样做
if (String.IsNullOrEmpty(Properties.Type1))
{
// Do something
}
但是如果你想要一个默认值,那么我建议你在静态构造函数中设置它。