Зависит от того, как вы звоните GetIPInfo (пользователь) .Похоже, что вы проходите null как user .Возможно, вам следует написать что-то вроде
GetIPInfo(new User());
Но не ясно, нужно ли инициализировать пользователя каким-либо образом, или этого достаточно для создания пустого экземпляра.Кроме того, я не понимаю, что вы пытаетесь сделать с user.IPAddress = user.IPAddress; Это инструкция, которая, похоже, не оказывает никакого влияния, если только в коде нет другого кода.сеттер IPAddress, который вызывает некоторый побочный эффект, но этого я бы избегал.
РЕДАКТИРОВАТЬ после вашего комментария:
Если я правильно понял (но я не совсем уверен), возможноэто больше похоже на то, что вам действительно нужно:
private static User GetIPInfo () {User user = new User ();
string ipAddress = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
string city = string.Empty;
string region = string.Empty;
string country = string.Empty;
double? latitude = -1.00;
double? longitude = -1.00;
LocationTools.GetLocationFromIP(ipAddress, out city, out region, out country, out latitude, out longitude);
user.IPAddress = ipAddress;
// other code to fill the other fields of User
return user;
}
Затем вы можете вызвать его и получить новый экземплярпользователя, который вы можете присвоить переменной или использовать по своему усмотрению.