> And yet it isn't a problem.

First, I was only addressing the claim that "to use [functions] outside their 
parent classes you need to use the full name". Second, it certainly can be a 
problem when the argument is a common type. In file.open, file is a string. You 
could have a dozen different I/O packages, all of which have a way to open a 
file given its path. Or consider x.parse, where x is a string ... is that 
parsing the file named by x, or the string value of x?

> For example: file.close(), you can safely guess it is calling a method close 
> defined inside File class.

A fundamental principle of analysis is to look at _problematic_ cases, not 
those that _aren't_ problematic. I don't think your comments get at the issues.

> Even having extensions in mind, is not the rule unlike nim.

I don't know what you're trying to convey here, or how it's true. if all you're 
saying is that it's not a problem for C# extension methods because they aren't 
used much, that really isn't saying anything useful. Consider that all the LINQ 
methods are extension methods, and they include things like All, Count, and 
Join. One could easily have other methods with those names that operate on 
collections.

Reply via email to