Errore del compilatore CS0193

Aggiornamento: novembre 2007

Messaggio di errore

L'operatore * o -> deve essere applicato a un puntatore.
The * or -> operator must be applied to a pointer

L'operatore * o -> è stato utilizzato con un tipo non puntatore. Per ulteriori informazioni, vedere Tipi di puntatori (Guida per programmatori C#).

Il seguente codice di esempio genera l'errore 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);
   }
}