In C Programming,
void foo()
{
}
void main()
{
printf(\"%p\",foo);
}
will print the address of foo function. Please let me know if there is a
In C# methods don't provide address. In C method addresses are available to create pointers to functions that can be used to alternatively call functions by passing them to functions that accept these pointers. In C# you could achieve the same using delegates that are typesafe and these delegates can contain multiple functions too...
C# is a high-level language. A method does not need to have an "address" -- this is an implementation detail left to the runtime.
However, if you need to interface with C code that requires a method address (for example, to provide a callback to a Windows API method), you can
Example:
static void foo()
{
}
static void Main(string[] args)
{
Delegate fooDelegate = new Action(foo);
IntPtr p = Marshal.GetFunctionPointerForDelegate(fooDelegate);
Console.WriteLine(p);
}
Note, though, that you usually won't need this. Even for the aforementioned example -- passing a callback to a Windows API function -- there are more elegant solutions.