Поделиться через


Ошибка компилятора CS0193

Обновлен: Ноябрь 2007

Сообщение об ошибке

К указателю должен быть применен оператор "*" или "->"
The * or -> operator must be applied to a pointer

Оператор * или -> был использован для типа, который не является указателем. Дополнительные сведения см. в разделе Типы указателей (руководство по программированию в C#).

Следующий пример приводит к созданию ошибки CS0193:

// CS0193.cs
using System;

public struct Age
{
   public int AgeYears;
   public int AgeMonths;
   public int AgeDays;
}

public class MyClass
{
   public static void SetAge(ref Age anAge, int years, int months, int days)
   {
      anAge->Months = 3;   // CS0193, anAge is not a pointer
      // try the following line instead
      // anAge.AgeMonths = 3;
   }

   public static void Main()
   {
      Age MyAge = new Age();
      Console.WriteLine(MyAge.AgeMonths);
      SetAge(ref MyAge, 22, 4, 15);
      Console.WriteLine(MyAge.AgeMonths);
   }
}