Przeciążanie [] niemożliwe?

Odpowiedz Nowy wątek
2011-07-26 14:22
0

Witam! Chcąc przeciążyć w C# operator [] dostaję błąd: Overloadable unary operator expected Nie można go przeciążać?? Co mam zrobić, aby można go przeciążyć?

Znalazłem na MSDN coś takiego: "The array indexing operator cannot be overloaded, but you can define indexers." Czyli, że z operatora nici i mam zastosować indexer w ten sposób:

 public string this[int index]
        {
            get
            {
                   //....
            }
            set
            {
                   //....
            }
        }

??


<error>There was an error during loading user signature. Please try to reboot the Universe and check again.</error>
edytowany 2x, ostatnio: xeo545x39, 2011-07-26 14:31
dlaczego „nici”? w czym się to się różni od twojego operatora? - Azarien 2011-07-26 14:49
Tak w sumie to niczym :P - xeo545x39 2011-07-27 12:51

Pozostało 580 znaków

2011-07-26 14:36
o_O
2011-07-26 14:42
0

Dobra poradziłem sobie, ale jeszcze mam pytanie odnośnie operatora +=, tego już nie rozumiem, co napisali na MSDN'ie: http://msdn.microsoft.com/en-us/library/8edha89s.aspx
"Assignment operators cannot be overloaded, but +=, for example, is evaluated using +, which can be overloaded." I jak mam sobie z tym poradzić?


<error>There was an error during loading user signature. Please try to reboot the Universe and check again.</error>
jak zdefiniujesz operator + to wtedy kompilator założy, że zapis a += b jest równoważny a = a + b; - MarekR22 2011-07-26 14:46
Acha, thanks. - xeo545x39 2011-07-26 14:48

Pozostało 580 znaków

2011-07-26 14:52
0

I jak mam sobie z tym poradzić?

Najlepiej zrozumieć co jest napisane:
Operatory przypisania nie mogą być przeciążane, ale przykładowo operator += obliczany jest przy użyciu operatora +, który może być przeciążany.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0