27
Czy ktoś może wyjaśnić, dlaczego interfejsy C# nie mogą zawierać operatorów?C# interfejs nie może zawierać operatorów
Dzięki.
Czy ktoś może wyjaśnić, dlaczego interfejsy C# nie mogą zawierać operatorów?C# interfejs nie może zawierać operatorów
Dzięki.
C# operators have to be static. Interfejsy z definicji odnoszą się do instancji. Nie ma mechanizmu wymagającego typu do implementacji metod statycznych.
Metody rozszerzania przychodzą na myśl, ale metody rozszerzenia nie mogą być używane jako operatory ani właściwości. –
Ale czy jest jakiś powód, że interfejsów nie można ulepszyć w celu uwzględnienia metod statycznych i operatorów? – cordialgerm
@pickles - nie ma żadnego twardego i szybkiego powodu, dla którego język/kompilator nie mógłby stworzyć takiego konstruktu (myślę, że mogą istnieć takie, które robią - Delphi może, i może to być trochę naśladowane (statyczne wirtualne metody co najmniej) w C++ przy użyciu szablonów (T :: Method())) - C# nie wybrał. – dkackman