Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS0193

Operator * lub -> musi być zastosowany do wskaźnika

Operator * lub -> był używany z typem nonpointer. Aby uzyskać więcej informacji, zobacz Typy wskaźników.

Poniższy przykład generuje 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);  
   }  
}