Przypisanie bezpośrednio do klasy

0

Witam.

Przewertowałem, już całe wydanie O'Reilly-iego i nie moge tego znaleźć. Od razu podam przykład co chce zrobić, bo nie wiem jak to wyjaśnić:

class Test
{
  int a;
<b>
  public int this
  {
      get
      {
          return a;
      }

      set
      {
          a = value;
      }
  }
</b>
  public Test(int b)
  {
      a = b;
  }
}

class KlasaMainowa
{
    public static void main()
    {
        Test tescik = new Test(2);

        <b>tescik = 3;</b>

        <b>Test tescik2 = 4;</b>
    }
}

Chodzi o to, że chciałbym zrobić taki niby mechanizm indeksowania do ktorego nie trzeba by bylo sie odwolywac przez [index]. Wydaje mi sie, ze czytalem o tym. Mam nadzieje, ze mi sie nie uroiło.
Jest coś takiego możliwe?

0
public static implicit operator Test(int i) {
  return new Test(i);
}

public static implicit operator int(Test i) {
  return i.a;
}

// pisane z palca

Ale to nie działa chyba tak jak myślisz - każdy obiekt pomieści tylko jedną liczbę.

A jeśli chcesz zwykły indexer to:

public int this[int x] {
 get {
...}
}

...

var x = test[5]; 
0

Tak, dziękuje to działa :)

Teraz już nawet znalazłem w książce (szukając po słowie implicity).

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