mrjbom
@mrjbom

Почему я не могу использовать this в C#?

Имеется такой код:
using System;

class TestClass
{
    private int value;
    public int SetValue() { return this->value; }
    public void SetValue(int value) { this->value = value; }
}

class MainClass
{
    TestClass test;
    static int Main(string[] argv)
    {

        return 0;
    }
}


Компилятор говорит: "К указателю должен быть применен оператор * или ->", судя по-всему его не волнует что я так и делаю, он хочет непойми чего.
  • Вопрос задан
  • 249 просмотров
Решения вопроса 3
myjcom
@myjcom
The * or -> operator must be applied to a pointer

Не так
"К указателю должен быть применен оператор * или ->",

А так
Оператор * или-> должен быть применен к указателю

Используй точку
https://docs.microsoft.com/ru-ru/dotnet/csharp/lan...
Ответ написан
Комментировать
Почитайте книгу по C#. А то это полнейшая глупость...

В C# оператор "->" пременним только к указателям. this это не указатель, а ссылка. Поэтому нужно использовать оператор "."

using System;

class TestClass
{
    private int value;
    public int SetValue() { return this.value; }
    public void SetValue(int value) { this.value = value; }
}

class MainClass
{
    TestClass test;
    static int Main(string[] argv)
    {

        return 0;
    }
}
Ответ написан
Комментировать
freeExec
@freeExec
Участник OpenStreetMap
public int GetValue() -> this.value;

public int GetValue() { return this.value; }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы