Description
Nonsense. Who inherits interface should be able to call. It has to implement every member of base interface so it can safely call that method without that extra cast
2.Parametrization
This is even more ridiculous
You have to write a ton of extra code.
Just let Roslyn or your boilerplate code generation to handle the fact that variables need to be initialized and used as parameters.
It should really be like this:
Ehm no????
Interface require you to implement methods.
You could just let people override it with their own implementation. Protected is not needed?????
When one overrides base interface method it will call the inheriting class method, else the interface one.
This has to be the most useless thing ever
Calling the static method through the interface it's the same exact thing as doing any other utility static class.....
You can't do anything with it as you have to give an instance to use properties inside it and interface can't have any so everything is passed as a parameter and therefore useless. Any static class can do the same stuff without this convolute interfaces workaround
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
- ID: 54cebe71-9575-ed30-b6b8-1f6222061961
- Version Independent ID: ecda34c3-a5b7-8b8c-baa4-4ea741478e5f
- Content: Safely update interfaces using default interface methods in C#
- Content Source: docs/csharp/whats-new/tutorials/default-interface-methods-versions.md
- Product: dotnet-csharp
- Technology: csharp-advanced-concepts
- GitHub Login: @BillWagner
- Microsoft Alias: wiwagn