This is not possible if you do not pass the caller to the method (as an argument) or go through the stack stack to get the caller.
The compiler replaces parentwith childwhen invoking static methods parentusing a type child. For example, here is the IL code to call child.GetTypeName():
IL_0002: call class [mscorlib]System.Type Tests.Program/parent::GetTypeName()
source
share