The code below produces output "Blabla".
class Test {} void Blabla() { Print("Blabla"); } void Repro() { Test t = new Test(); t.Blabla(); }
We're clearly using dot operator which tries to access "Blabla" of "Test", the issue is that the resolution here somehow picks the global "Blabla". The compiler should throw an error with something along the lines of "class Test does not contain a definition for 'Blabla'", but instead it compiles fine and acts as if you simply called "Blabla()".