How do I call a static method? I want to call this from a class I have created, I want to get the location from IP. I've declared it but what I need to do is call the method... as static
...
To be honest with you, I'm quite confused here, do I need to instantiate address
, city
, etc.?
I have done this so far;
LocationTools.cs
public static class LocationTools
{
public static void GetLocationFromIP(string address, out string city, out string region, out string country, out double? latitude, out double? longitude)
{
Home.cs
public string IPAPIKey
{
get
{
return WebConfigurationManager.AppSettings["IPAPIKey"];
}
}
////To get the ip address of the machine and not the proxy use the following code
static void GetLocationFromIP()
{
string strIPAddress = Request.UserHostAddress.ToString();
strIPAddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (strIPAddress == null || strIPAddress == "")
{
strIPAddress = Request.ServerVariables["REMOTE_ADDR"].ToString();
}
}
}
}
There you go
static void GetLocationFromIP()
{
string strIPAddress = Request.UserHostAddress.ToString();
strIPAddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (strIPAddress == null || strIPAddress == "")
{
strIPAddress = 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(strIPAddress, out city, out region, out country, out latitude, out longitude)
}
Static classes are generally used when you want to provide some utilities, so you do not have to create objects of those classes. You can call those methods from other classes by simply calling by class name and invoking the member function.
For example here you can call as LocationTools.GetLocationFromIP();
Hope it helps!
LocationTools.GetLocationFromIP( ... ) ;
You should read up about Static Classes and Members on MSDN
Static classes and class members are used to create data and functions that can be accessed without creating an instance of the class. Static class members can be used to separate data and behavior that is independent of any object identity: the data and functions do not change regardless of what happens to the object. Static classes can be used when there is no data or behavior in the class that depends on object identity.
You need to do two things:
First, import the library where the static class is:
import blabla;
Then, call your static method doing something liked this:
LocationTools.GetLocationFromIP(address, city...);
It should work.
It's as easy as:
LocationTools.GetLocationFromIP(strIP, strCity, strRegion, strCountry, fLat, fLong)
Just call the Class, and straight from that the method. Static means that you do not need an instance of the class to call the method.