我创建了一个新类,我得到一个空引用异常,我不知道为什么。
你调用的对象是空的。
namespace TIMBaseClasses.ReturnerTracking
{
[Serializable]
public class Returner
{
private Guid _returnerID;
private string _clientIP;
public Guid returnerID {get { return _returnerID; } set { _returnerID = value; }}
public string clientIP {get { return _clientIP; } set { _clientIP = value; }}
/// <summary>Constructor that sets the default values as needed</summary>
public Returner()
{
returnerID = Guid.Empty;
clientIP = string.Empty;
}
public static Returner Instance
{
get
{
var ret = (Returner)(HttpContext.Current.Session["Returner"] ?? new Returner());
HttpContext.Current.Session["Returner"] = ret;
return ret;
}
}
}
}
当我调用“new Returner()”时,错误发生在最后的“var ret”行的底部。
调用它导致错误的行如下。
Returner.Instance.returnerID = id;
编辑
为了解决 HTTPContext.Current 为空的问题,我做了一个观察,它不为空。但是,“new Returner()”上的手表给了我这个:
Instance = 'TIMBaseClasses.ReturnerTracking.Returner.Instance' threw an exception of type 'System.NullReferenceException'