3 ms·
But is there an essential difference between these methods?
by grn 14y ago
But is there an essential difference between these methods?
- Someone 14y agoExtension methods can only use the public API of objects. Opening a class and adding methods allows one to access the private API, too. That, of course, is only a difference in languages that have the public/private distinction.
- grn 14y agoBut it doesn't make reopening classes bad. You have a choice: you can use a public API or mess with implementation (for example for performance reasons).
- tomp 14y agoThe essential difference is that extension methods are visible only in compilation units that explicitly import them, while adding a new method to an existing class makes it visible everywhere.