Error del compilador CS0193

Actualización: noviembre 2007

Mensaje de error

El operador * o -> se debe aplicar a un puntero
The * or -> operator must be applied to a pointer

Se utilizó el operador * o -> con un tipo de no puntero. Para obtener más información, vea Tipos de puntero (Guía de programación de C#).

El código siguiente genera el error 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);
   }
}